R geom_hline仅显示实线
我有一些绘图,我正在使用R geom_hline仅显示实线,r,ggplot2,geom-hline,R,Ggplot2,Geom Hline,我有一些绘图,我正在使用ggplot2,使用基本绘图的函数,然后添加一些元素。我有一个问题,涉及到添加一个geom_hline,但如果它适用于其他绘图,那么这一个似乎不希望将线显示为实体以外的任何东西。当我为这一行设置scale\u linetype\u manual时,我必须使values=1,否则它会删除该行(yintercept=0.5)。 代码如下: #Aluminium (dissolved) prm <- dat2[dat2$ParamID == "Aluminium
ggplot2
,使用基本绘图的函数,然后添加一些元素。我有一个问题,涉及到添加一个geom_hline
,但如果它适用于其他绘图,那么这一个似乎不希望将线显示为实体以外的任何东西。当我为这一行设置scale\u linetype\u manual
时,我必须使values=1
,否则它会删除该行(yintercept=0.5)。
代码如下:
#Aluminium (dissolved)
prm <- dat2[dat2$ParamID == "Aluminium (dissolved)",]
prm <- prm[prm$SiteID %in% c("SW1","SW2","SW3"),]
gplt <- ggplotCust(prm, c(0.05,1.0), dateStart, dateEnd, "Concentration (mg/L)",0.1) +
scale_y_continuous(trans='log10') +
geom_hline(aes(yintercept=0.5,linetype="dotted"),colour="red",show.legend = NA) +
scale_linetype_manual(name="Guideline Values",values=1, breaks=waiver(), labels="EA Criteria")
铝(溶解)
prm将linetype=“domind”
移出aes()
UPD。如果要将其保留在图例中,可以将最后两行修改为以下内容:
geom_hline(aes(yintercept=0.5,linetype="dotted"),colour="red",show.legend = NA) +
scale_linetype_manual(name="Guideline Values",values=c(dotted=2), labels="EA Criteria")
这是可行的,但它没有出现在图例中(这就是为什么它出现在aes中)-请注意,这对其他数据集有效,但对这个数据集(实际上是同一数据集的其他数据子集)无效-实际上我让它工作了,但这没有意义-如果我在scale\u linetype\u手动调用中用value=c(6,8.5)替换value=1,那么它就工作了。但是这没有意义?你的例子包含了很多与问题无关的细节。尽量减少它,只保留重现问题所需的最小值。请参阅上的参考资料,并在我的答案中查看更新
geom_hline(aes(yintercept=0.5,linetype="dotted"),colour="red",show.legend = NA) +
scale_linetype_manual(name="Guideline Values",values=c(dotted=2), labels="EA Criteria")