首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ggplot2图例:结合离散颜色和连续点大小

ggplot2图例:结合离散颜色和连续点大小
EN

Stack Overflow用户
提问于 2018-12-13 05:34:59
回答 1查看 1.3K关注 0票数 1

有类似的帖子,即herehere,但是它们所处理的实例点颜色和大小都是连续的。是否可以:

  1. 将离散的颜色和连续的点大小结合在一个图例中?
  2. 在相同的图例中,在数字断点标签的每一点上添加一个描述?

玩具数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
xval = as.numeric(c("2.2", "3.7","1.3"))
yval = as.numeric(c("0.3", "0.3", "0.2"))
color.group = c("blue", "red", "blue")
point.size = as.numeric(c("200", "11", "100"))
description = c("descript1", "descript2", "descript3")

df = data.frame(xval, yval, color.group, point.size, description)

ggplot(df, aes(x=xval, y=yval, size=point.size)) + 
  geom_point(color = df$color.group) +
  scale_size_continuous(limits=c(0, 200), breaks=seq(0, 200, by=50))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-13 07:50:01

做你最初要求的事情--在单个图例中连续+离散--在一般情况下,在概念上似乎都是不可能的。唯一明智的做法是有两个传说的大小,每个传说有不同的颜色。

现在,让我们考虑有一个单一的传奇。鉴于您的“在我的情况下,每一个独特的组合点大小+颜色是相关的描述。”,这听起来似乎是很少有可能的点大小。在这种情况下,你可以使用两个尺度作为离散的。但我认为,即使是这样,也是不够的,因为你使用不同的变量的大小和色标。然后,解决方案将是创建一个具有所有可能的color.grouppoint.size组合的单因素变量。特别地,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df <- data.frame(xval, yval, f = interaction(color.group, point.size), description)
ggplot(df, aes(x = xval, y = yval, size = f, color = f)) + 
  geom_point() + scale_color_discrete(labels = 1:3) +
  scale_size_discrete(labels = 1:3)

这里的1:3是你想要的描述,你也可以用你喜欢的方式设置颜色。例如,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ggplot(df, aes(x = xval, y = yval, size = f, color = f)) + 
  geom_point() + scale_size_discrete(labels = 1:3) +
  scale_color_manual(labels = 1:3, values = c("red", "blue", "green"))

但是,我们也可以通过以下方法利用color.group

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ggplot(df, aes(x = xval, y = yval, size = f, color = f)) + 
  geom_point() + scale_size_discrete(labels = 1:3) +
  scale_color_manual(labels = 1:3, values = gsub("(.*)\\..*", "\\1", sort(df$f)))

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

https://stackoverflow.com/questions/53763087

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文