如何更改按变量因子分类的ggplot的图例标题

Posted

技术标签:

【中文标题】如何更改按变量因子分类的ggplot的图例标题【英文标题】:How to change the legend title of a ggplot categorized by the factor of a variable 【发布时间】:2020-06-07 08:32:43 【问题描述】:

所以,我对 ggplot2 有一个问题,这个问题似乎太微不足道了,但是在五种不同的方法中,没有一个产生了预期的结果。我希望通过第二个变量的类别更改多年来连续变量图的图例标题。这样,如果我在第二个变量中有三个类别,那么多年来我将有三行连续变量。我使用 mtcars 数据来尝试复制我的意图和问题。因此,我的代码类似于以下内容:

mt <- ggplot(data=mtcars,aes(x=factor(cyl),linetype=factor(am),y=mpg))
mt <- mt+geom_line(aes(group=factor(am)),size=0.8)
mt <- mt+labs(y='Number of cylinders',x='Mileage per galon',color='Transmission')

在这种情况下,我的连续变量是 mpg,而我的 Years 变量是 cyl、气缸数,因子变量是 am。我试图通过在实验室内使用颜色来更改图例标题,但这没有结果。我也尝试了其他选项,即 scale_color_discrete() 函数、fill、guides() 函数、scale_fill_discrete() 函数,也无济于事。所以,我的意图是改变我的传说标题。下列的, the graph originated by the code above.

有人会如何改变那个因素(am)标题图例?

【问题讨论】:

您能否附上您预期情节的样本? 我只想将图例标题因子(am)更改为传输。 只需在实验室中使用填充参数。 fill="Transmission"(我没有检查它的线型没有填充) 【参考方案1】:
mt <- ggplot(data=mtcars,aes(x=factor(cyl),linetype=factor(am),y=mpg))
mt <- mt+geom_line(aes(group=factor(am)),size=0.8)
mt <- mt+labs(y='Number of cylinders',x='Mileage per galon', linetype='Transmission')

产生这个情节:

解释:您使用了元素 xylinetype,但随后尝试将字符串分配给您没有使用的 color 的图例。这就是为什么它没有效果。将参数更改为linetype 即可解决此问题。

【讨论】:

以上是关于如何更改按变量因子分类的ggplot的图例标题的主要内容,如果未能解决你的问题,请参考以下文章

更改ggplot2中因子的图例文本

ggplot 手动图例 scale_fill_manual 用于单独的颜色因子

ggplot2() 按因子绘制一个变量与自身的关系?

带有ggplot2的发散堆积条形图:图例中的因子排序问题

如何更改ggplot中的图例标题

如何更改ggplot中的图例标题