首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于在ggplot2 (geom_hline)中添加/更改颜色

关于在ggplot2 (geom_hline)中添加/更改颜色
EN

Stack Overflow用户
提问于 2022-01-12 04:25:13
回答 1查看 226关注 0票数 0
代码语言:javascript
运行
复制
data %>% ggplot() + 
  geom_hline(aes(yintercept=Trial, col=Participant2)) + 
  scale_color_discrete(name="NI-1", labels=c("False Alarm", "Hit", "Miss")) + 
  theme_minimal()

是否有方法为上面代码行中的标签分配下列颜色?

假警报-红色

打白

蓝小姐。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-01-12 12:42:36

我们可以使用scale_colour_manual()并为离散变量的各个级别分配自定义颜色和标签。

这里,我使用来自iris的数据作为示例数据,iris$Species作为离散变量。

代码语言:javascript
运行
复制
library(ggplot2)

# axis labels
xl <- "Sepal Length"; yl <- "Sepal Width"

# custom colours
my_colours <- c('blue4', 'darkorange', '#00b0a6')
my_colours <- setNames(my_colours, unique(iris$Species))

# custom labels
my_labels <- c('species 1', 'species 2', 'species 3')

# median Sepal.Width per Species
medians_SW <- sapply(split(iris, iris$Species), \(x) median(x$Sepal.Width))

# plot
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, colour = Species))  +
  geom_point(size = 2, alpha = 0.8) +
  geom_hline(aes(yintercept = medians_SW[1]), color = my_colours[1],
             linetype = 2, size = 0.8, alpha = 0.8) +
  geom_hline(aes(yintercept = medians_SW[2]), color = my_colours[2],
             linetype = 2, size = 0.8, alpha = 0.8) +
  geom_hline(aes(yintercept = medians_SW[3]), color = my_colours[3],
             linetype = 2, size = 0.8, alpha = 0.8) +
  xlab(xl) +  ylab(yl) + theme_minimal() +
  scale_colour_manual(name = 'Species',
                      breaks = unique(iris$Species),
                      values = my_colours,
                      labels = my_labels)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70676301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档