使用 ggplot() 更改线条颜色

发布于 2024-10-19 20:19:52 字数 624 浏览 4 评论 0原文

我不太使用 ggplot2,但今天我想在一些图表上尝试一下。但我不知道如何在 geom_line() 中手动控制颜色

我确信我忽略了一些简单的东西,但这是我的测试代码:

x <- c(1:20, 1:20)
variable <- c(rep("y1", 20), rep("y2", 20) )
value <- c(rnorm(20), rnorm(20,.5) )

df <- data.frame(x, variable, value )

d <- ggplot(df, aes(x=x, y=value, group=variable, colour=variable ) ) + 
            geom_line(size=2)
d

它给了我预期的输出:

在此处输入图像描述

我以为我所要做的就是一些简单的事情,例如:

d +  scale_fill_manual(values=c("#CC6666", "#9999CC"))

但这不会改变任何事情。我缺少什么?

I don't use ggplot2 that much, but today I thought I'd give it a go on some graphs. But I can't figure out how to manually control colors in geom_line()

I'm sure I'm overlooking something simple, but here's my test code:

x <- c(1:20, 1:20)
variable <- c(rep("y1", 20), rep("y2", 20) )
value <- c(rnorm(20), rnorm(20,.5) )

df <- data.frame(x, variable, value )

d <- ggplot(df, aes(x=x, y=value, group=variable, colour=variable ) ) + 
            geom_line(size=2)
d

which gives me the expected output:

enter image description here

I thought all I had to do was something simple like:

d +  scale_fill_manual(values=c("#CC6666", "#9999CC"))

But that changes nothing. What am I missing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我很OK 2024-10-26 20:19:52

colorfill 是不同的美学。由于您想修改颜色,因此您需要使用相应的比例:

d + scale_color_manual(values=c("#CC6666", "#9999CC"))

就是您想要的。

color and fill are separate aesthetics. Since you want to modify the color you need to use the corresponding scale:

d + scale_color_manual(values=c("#CC6666", "#9999CC"))

is what you want.

久隐师 2024-10-26 20:19:52

这是更改线条颜色的另一种方法的最小可重现示例(尝试运行它):

library(tidyverse)
library(ggplot2)

iris %>% 
  ggplot(aes(x = Petal.Length)) +
  geom_line(aes(y = Sepal.Length), color = "green") +
  geom_line(aes(y = Sepal.Width), color = "blue") 

在此处输入图像描述

当您添加行 手动

Here's a minimal reproducible example of another way to change line colours (try running it):

library(tidyverse)
library(ggplot2)

iris %>% 
  ggplot(aes(x = Petal.Length)) +
  geom_line(aes(y = Sepal.Length), color = "green") +
  geom_line(aes(y = Sepal.Width), color = "blue") 

enter image description here

This way can be particularly useful when you added the lines manually.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文