【问题标题】:Legend title from geom_vline来自 geom_vline 的图例标题
【发布时间】:2017-08-04 13:44:34
【问题描述】:

我在 R (v. 3.4.1) 中使用 ggplot2 (v. 2.2.1) 创建包含垂直线的直方图。我正在使用以下代码生成直方图,放置垂直线,并将线添加到图例中:

ggplot(data = meanExps, aes(x)) + 
geom_histogram(col = "black",
               fill="lightblue") + 
geom_vline(data = meanData, 
           mapping = aes(xintercept=Vals,
                         linetype=Title, 
                         color = Title),
           size = 1, 
           show.legend = T) +
labs(x = "Exponential Means") 

除了图例的标题显示为“标题”之外,所有内容都在图中正确显示。

我想将图例的标题更改为其他名称 - 比如“V. Lines”

我尝试了以下代码,它给了我想要的图例(和标题),但也给了我不想要的额外图例。

ggplot(data = meanExps, aes(x)) + 
geom_histogram(col = "black",
               fill="lightblue") + 
geom_vline(data = meanData, 
           mapping = aes(xintercept=Vals,
                         linetype=Title, 
                         color = Title),
           size = 1, 
           show.legend = T) +
labs(x = "Exponential Means", color = "V. Lines") 

这是该情节的图像: 。

所以,我的问题是:如何从 geom_vline 创建一个带有我选择的标题的图例?

【问题讨论】:

  • 您只需要删除线型图例:yourPlot + guides(linetype = FALSE)
  • 给线型添加标题,然后它会与颜色分类合并labs(x = "Exponential Means", color = "V. Lines", linetype = "V.lines")

标签: r ggplot2 legend


【解决方案1】:

如果您想合并这两种美学,您必须同时更改它们的标题。

labs(x = "Exponential Means", color = "V. Lines", linetype = "V. Lines") 

【讨论】:

  • 谢谢安德烈斯。任何阅读此内容的人都需要澄清一点:“color =”和“linetype =”后面的文本必须相同,否则您将获得两个图例。
猜你喜欢
  • 2019-07-21
  • 1970-01-01
  • 2020-04-15
  • 1970-01-01
  • 2015-07-10
  • 2022-11-21
  • 2020-11-26
  • 2014-11-02
  • 1970-01-01
相关资源
最近更新 更多