将图例中的 ggplot 彩色线条更改为正方形或圆形

Posted

技术标签:

【中文标题】将图例中的 ggplot 彩色线条更改为正方形或圆形【英文标题】:Change ggplot coloured lines in legend to squares or circles 【发布时间】:2012-09-01 03:15:42 【问题描述】:

除了当前构成图例键的灰色背景上的彩色线条,我希望键标签旁边有颜色的正方形或圆形,以便使颜色易于看到。我怎样才能做到这一点?下面是一个代码 sn-p 用作示例:

 mry <- do.call(rbind, by(movies, round(movies$rating), function(df) 
   nums <- tapply(df$length, df$year, length)
   data.frame(rating=round(df$rating[1]), year = as.numeric(names(nums)),
   number=as.vector(nums))
 ))

ggplot(mry, aes(x=year, y=number, colour=factor(rating))) + geom_line() +
scale_colour_brewer(palette="YlGnBu")

【问题讨论】:

【参考方案1】:

一个黑客来做圈......

ggplot(mry, aes(x=year, y=number, colour=factor(rating))) +
  scale_colour_brewer(palette="YlGnBu") +  
  geom_point()  +      
  geom_point(size=5,colour="white",show_guide=FALSE)  +
  opts(
    panel.background = theme_rect(fill =  "transparent"), 
    panel.grid.minor = theme_blank(),
    panel.grid.major = theme_blank(),
    plot.background = theme_rect(fill = "transparent",colour = NA)
  ) +  geom_line(show_guide=FALSE)

【讨论】:

你可以通过改变点的形状来制作正方形等 如果您想要更大的圆形和正方形的大小,也可以轻松编辑 更新 opts 现已弃用,使用theme 并将theme_rect 替换为element_rect 等...

以上是关于将图例中的 ggplot 彩色线条更改为正方形或圆形的主要内容,如果未能解决你的问题,请参考以下文章

在 ggplot2 中,如何将图例文本更改为百分比格式 [重复]

ggplot图形上线条的动态形状和大小变化创建第二个图例[重复]

ggplot2:为彩色条形图和图例添加不同的纹理[重复]

为线条/形状组合正确显示 ggplot 图例

如何使用 ggplot 添加彩色图例?

无法在 R 中使用 ggplot2 更改图例标题和标签