ggplot图例中缺少标签

隐士

我想绘制一些数据,然后为平均值和平均值+/-标准偏差添加回归线和水平线,每种颜色均不同。我已经做到了,但我无法正确理解图例。它显示了前两个的标签,但对三个水平线什么也没说。我怎样才能使图例也为这三行都贴上标签?

另一篇文章提到show_guide = TRUE,但这对我不起作用。我也一直在寻找scale_colour_manual的文档,但这对我没有帮助。

我的代码是这样的:

p <- qplot(mpg, wt, data = mtcars, colour="1")
p <- p + geom_smooth(method='lm',aes(x=mpg,y=wt,colour="2"),formula=y~x)
p <- p + geom_hline(yintercept = mean(mtcars$wt), colour = "3")
p <- p + geom_hline(yintercept = mean(mtcars$wt) + sd(mtcars$wt), colour = "3",    linetype="dashed")
p <- p + geom_hline(yintercept = mean(mtcars$wt) - sd(mtcars$wt), colour = "3", linetype="dashed")      
p <- p + labs(colour="")    
p <- p + scale_colour_manual(values = c("red","blue", "green","green","green"),labels=c("Data","Regression","Mean","Mean + SD","Mean - SD"))
p <- p + guides(colour = guide_legend())
print(p)

任何帮助将不胜感激,加油!

乔兰

我认为这可能更接近您想要的:

d <- data.frame(yint = c(mean(mtcars$wt) - sd(mtcars$wt),
                mean(mtcars$wt),
                mean(mtcars$wt) + sd(mtcars$wt)),
                grp = c('dashed','solid','dashed'))

p <- ggplot(data = mtcars,aes(mpg, wt)) + 
    geom_point(aes(color = "Data")) +
    geom_smooth(method='lm',aes(x=mpg,y=wt,color = "Regression"),formula=y~x) + 
    geom_hline(data = d,aes(yintercept = yint,linetype = grp,color = "Mean +/- SD")) + 
    scale_linetype_manual(values = c('dashed' = 'dashed','solid' = 'solid')) + 
    labs(color = "")
print(p)

关于分别标记每条水平线的问题,我的回答是,这根本不属于图例。这些标签应标有geom_text()

d <- data.frame(yint = c(mean(mtcars$wt) - sd(mtcars$wt),
                         mean(mtcars$wt),
                         mean(mtcars$wt) + sd(mtcars$wt)),
                         grp = c('dashed','solid','dashed'),
                         lab = c('-SD','Mean','+SD'))

p <- ggplot(data = mtcars,aes(mpg, wt)) + 
    geom_point(aes(color = "Data")) +
    geom_smooth(method='lm',aes(x=mpg,y=wt,color = "Regression"),formula=y~x) + 
    geom_hline(data = d,aes(yintercept = yint,linetype = grp),color = "green") + 
    geom_text(data = d,aes(y = yint,label = lab),
              vjust = -0.5,hjust = 1,x = Inf,size = 3) +
    scale_linetype_manual(values = c('dashed' = 'dashed','solid' = 'solid')) + 
    labs(color = "")
print(p)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

matplotlib图例中缺少标签

来自分类Dev

ggplot boxplot中的标签图例

来自分类Dev

matplotlib散点图图例中缺少标签

来自分类Dev

从ggplot图例中删除单个标签

来自分类Dev

如何更改ggplot中的标签(图例)?

来自分类Dev

更改ggplot2的图例中的标签

来自分类Dev

从ggplot图例中删除单个标签

来自分类Dev

ggplot缺少图例

来自分类Dev

ggplot图例,Windows Remote Desktop中缺少颜色栏

来自分类Dev

在ggplot2中的图例中更改键标签

来自分类Dev

从ggplot2中的图例中删除标签

来自分类Dev

如何在ggplot中编辑当前图例标签

来自分类Dev

在ggplot中重新排列图例标签的困难

来自分类Dev

ggplot2中的动态图例标签

来自分类Dev

如何更改ggplot2的“主题”参数中的图例标签?

来自分类Dev

ggplot:散点图,标签和图例

来自分类Dev

ggplot中图例的顺序

来自分类Dev

您可以在Altair图表的图例中添加“缺少数据”的标签吗?

来自分类Dev

重新排列ggplot图例标签

来自分类Dev

仅显示ggplot图例的特定标签

来自分类Dev

如何使用plotmath更新ggplot图例标签

来自分类Dev

重新排列ggplot图例标签

来自分类Dev

在ggplot2中增加图例标题和标签之间的空间

来自分类Dev

如何在ggplot2中为带有图例的垂直线添加标签

来自分类Dev

手动为ggplot2中的长X标签创建缩写图例

来自分类Dev

如何在ggplot2中将多个标签格式化为单个图例

来自分类Dev

如何将图例向上移动到ggplot2中的x轴标签

来自分类Dev

在ggplot2中创建后更改比例图例标签

来自分类Dev

如何在ggplot中以数学方式转换图例上的默认标签?