首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >绘制不同线条颜色和点形状的格点图

绘制不同线条颜色和点形状的格点图
EN

Stack Overflow用户
提问于 2022-10-03 18:48:46
回答 1查看 68关注 0票数 1

我试图用下面的数据和美学绘制一个ggplot

代码语言:javascript
运行
复制
  library(ggplot2)
  mydata = rbind(data.frame('date' = as.Date(c('2010-01-01', '2011-01-01', '2012-01-01')), var1 = c('A', 'A', 'A'), var2 = c('X', 'X', 'X'), val = c(10, 3, 10)),
            data.frame('date' = as.Date(c('2010-01-01', '2011-01-01', '2012-01-01')), var1 = c('B', 'B', 'B'), var2 = c('X', 'X', 'X'), val = c(10+2, 3+2, 10+2)),
            data.frame('date' = as.Date(c('2010-01-01', '2011-01-01', '2012-01-01')), var1 = c('A', 'A', 'A'), var2 = c('Y', 'Y', 'Y'), val = c(10-2, 3-2, 10-2)),
            data.frame('date' = as.Date(c('2010-01-01', '2011-01-01', '2012-01-01')), var1 = c('B', 'B', 'B'), var2 = c('Y', 'Y', 'Y'), val = c(10+5, 3+5, 10+5)))

ggplot(data = mydata, aes(x = date)) +
    geom_line(aes(y = val, color = var1)) +
    geom_point(aes(y = val, color = var1, shape = var2))

这种方法产生了一个奇怪的阴谋。我想在x轴的同一date上画4条不同的线,其中var1用颜色来区分,var2用点的形状来区分。

有办法做到这一点吗?

EN

回答 1

Stack Overflow用户

发布于 2022-10-03 19:03:59

您可以将点和线的美学映射移动到全局映射:

代码语言:javascript
运行
复制
ggplot(data = mydata, aes(x = date, y=val, color=var1, shape=var2)) +
  geom_line() +
  geom_point() + 
  # as shown by @Gregor Thomas solution below
  guides(color = guide_legend(override.aes = list(shape = NA)))

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

https://stackoverflow.com/questions/73939603

复制
相关文章

相似问题

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