如何根据列值更改线条的颜色

Posted

技术标签:

【中文标题】如何根据列值更改线条的颜色【英文标题】:How to change color of lines depending on column value 【发布时间】:2021-12-26 19:34:31 【问题描述】:

我正在尝试使用 ggplot 从数据框中绘制关于仅来自欧洲和美洲的国家的历史预期寿命的图表。我的想法是让所有欧洲国家的线条都是蓝色的,美洲的线条是红色的。

这是我的代码:

ggplot(AmericasEuropeData, aes(x = year, y = lifeExp, group = country, color = country)) +
  geom_line(lwd = 1, show.legend = FALSE) + 
  scale_color_manual(values = country_colors) +
  theme_bw() + theme(strip.text = element_text(size = rel(1.1))) +
  ggtitle("Americas + Europe") +
  geom_vline(xintercept=2020, linetype="dashed") +
  ylab("Life Expectancy") +
  xlab("Year")

显示以下图表:

我尝试将color = country 更改为color = continent,但它使所有线条变成灰色,而不是每个大陆的不同颜色。 我该如何解决这个问题?我知道我可能搞砸了一些非常简单的事情。

AmericasEuropeData 数据框预览

【问题讨论】:

当您删除scale_color_manual(values = country_colors) + 行时,group = country, color = continent 会发生什么情况? 发送dput(AmericasEuropeData) 并在此处发布结果,以便我重现您的结果。 @AllanCameron 谢谢伙计,我认为它成功了!我删除了scale_color_manual(values = country_colors) 并更改了color = continent 【参考方案1】:

正如@AllanCameron 所说,将color = country 更改为color = continent 并删除scale_color_manual(values = country_colors),效果非常好。

这就是现在的样子:

【讨论】:

以上是关于如何根据列值更改线条的颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 UIDatePicker 的线条颜色

Eclipse Neon:如何更改所选线条的颜色?

Python:如何在绘图中更改多折线图上线条的颜色? [复制]

如何更改链接的线条/删除线颜色?

Particles JS - 如何更改线条之间的背景颜色?

如何更改拾轮器线条的颜色和粗细? (斯威夫特用户界面)