首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于显示因子级别的相同颜色的ggplot。

用于显示因子级别的相同颜色的ggplot。
EN

Stack Overflow用户
提问于 2016-03-03 19:56:19
回答 1查看 1.6K关注 0票数 4

我如何才能得到ggplot总是利用相同的颜色映射为一个因素。例如:

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

## Filter for visual simplification
diamonds2 <- diamonds[1:10,]
ggplot(diamonds2, aes(carat, price, color = cut)) + geom_point()

## Now filtering removes some levels of cut
diamonds3 <- diamonds[1:5,]
ggplot(diamonds3, aes(carat, price, color = cut)) + geom_point()

在第一个散射因子级中,“公平”为红色。在第二张图中,因子级“好”变成红色。我想要保持映射,不管过滤是否删除因子级别,这样“公平”总是映射到红色,等等。

在现实中,我的图形要复杂得多。我最初的因素有11个层次。

代码语言:javascript
运行
复制
MyPalette <- c("#5DD0B9", "#E1E7E9", "#1f78b4", "#a6cee3",  "#de77ae", "#c51b7d", "#8e0152", "#6a3d9a", "#fbdf6f", "#ff7f00", "#fff99")

我在ggplot中所指的

... scale_fill_manual(values = MyPalette, name="") + ...

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-03 19:59:51

只需为MyPalettescale_colour_manual()使用命名向量

代码语言:javascript
运行
复制
MyPalette <- c(Fair = "#5DD0B9", Good = "#E1E7E9", "Very Good" = "#1f78b4", Premium =  "#a6cee3", Ideal = "#de77ae")

ggplot(diamonds2, aes(carat, price, color = cut)) + geom_point() +
  scale_colour_manual(values = MyPalette)

ggplot(diamonds3, aes(carat, price, color = cut)) + geom_point() +
  scale_colour_manual(values = MyPalette)

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

https://stackoverflow.com/questions/35781783

复制
相关文章

相似问题

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