0
使用ggplot,我顯示了一系列點,三階多項式擬合(具有相應的公式和R2值)以及用於比較的標準化函數。動態標籤位置stat_poly_eq和ggplot2
ggplot(aes(x = saturation, y = time_norm_ratio), data = tmp) + geom_point(aes(color = id)) +
geom_line(aes(x=saturation,y=BPR_time_norm_ratio,color="BPR function")) + geom_smooth(aes(color = id), method= "lm", se = F, formula=y ~ poly(x, 3, raw=TRUE)) +
ggtitle("Saturation time delay curve") +
labs(x="Saturation",y="Time (t/to)") +
stat_poly_eq(aes(label=paste(..eq.label..,..adj.rr.label.., sep = "~~~")),geom="label",alpha=0.33,formula=(y ~ poly(x, 3, raw=TRUE)),label.y=2.5,parse=TRUE) +
theme(text=element_text(size=20))
給予我:
然而,當我繪製了一系列文件,我想對劇情規範stat_poly_eq
框的位置。它目前固定在y = 2.5 (label.y=2.5)
。是否可以相對於y軸動態地設置y位置?
我試過如下:
label.y=(0.75(tmp.time_norm_ratio)
,但是這導致:
Error in ggplot2::layer(stat = StatPolyEq, data = data, mapping = mapping, :
attempt to apply non-function
認爲這個問題是有可能與'''0.75(tmp.time_norm_ratio)''',這應該是'''0.75 * TMP $ time_norm_ratio'''呢?可能還需要一些聚合,比如'''label.y = 0.75 * max(tmp $ time_norm_ratio)'''。 – DGKarlsson
正確!隨意發佈作爲答案 – LearningSlowly