ggplot2 绘图颜色设置(不显示颜色?),图片合并共用图例

注:仅为个人学习笔记

目录

1.ggplot2绘图颜色设置

2.图片合并,共用图例,使用lemon包


1.ggplot2绘图颜色设置

1)使用RColorBrewer包

library(RColorBrewer)
RColorBrewer::display.brewer.all() #调出调色板,选择喜欢的色系

#以柱状图为例
ggplot(data,aes(x= , y= , fill= ))+geom_bar()+scale_fill_brewer(palette = "Set2")  #palette=选择你喜欢的色系的名称(通过上面的调色板查看)
#这里fill=xxx一定要设置,否则柱状图的柱子全是灰色的

2)使用ggsci包

教你用科学杂志喜欢的配色作图——R包ggsci - 简书 (jianshu.com)https://www.jianshu.com/p/71fc7e2561c4

3)自己设置颜色

颜色的选择可以参考这篇文章:

R语言ggplot2作图一些好看的颜色搭配 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/373090741

ggplot(data,aes(x= , y= , fill= ))+
geom_bar()+
scale_fill_manual(values=c("a1"="#ef1828","a2"="#f88421","a3"="#ffbc14"))
#可以哪一项对应哪个颜色

2.图片合并,共用图例,使用lemon包

library(lemon)
f <- grid_arrange_shared_legend(f1,f2,ncol = 2, nrow = 1,position = "right")
#position用来调整图例出现的位置

gridExtra包也有函数可以合并图片,但是不能合并图例

library(gridExtra)
f <- grid.arrange(p1,p4,p3,p2,nrow=2,ncol=2)

#使用arrangeGrob使排列更加灵活
f1 <- grid.arrange(arrangeGrob(p1,p4,p3,nrow=1,ncol=3),p2)

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果你想在 ggplot2 图中显示图例,你可以使用 `guides()` 函数并设置 `override.aes` 参数。 下面是一个例子: ``` ggplot(data, aes(x = x, y = y, color = z)) + geom_point() + guides(color = guide_legend(override.aes = list(size = 4))) ``` 你也可以使用 `show.legend = TRUE` 参数来显示图例: ``` ggplot(data, aes(x = x, y = y, color = z)) + geom_point(show.legend = TRUE) ``` 如果你正在使用的是 ggplot2 的旧版本,你可以使用 `legend.title` 参数: ``` ggplot(data, aes(x = x, y = y, color = z)) + geom_point(legend.title = "legend title") ``` 希望这些建议能够帮助你解决问题! ### 回答2: 如果在使用ggplot2绘图图例没有显示,可能有几个原因导致。 首先,要确保图例设置正确。在ggplot2中,图例是通过添加一个“颜色”或“形状”参数来实现的。例如,你可以在aes()函数中的“颜色”参数中指定一个变量来创建一个基于颜色图例。如果没有正确设置这些参数,图例将不会显示。在代码中确保有这样的设置。 其次,考虑图例是否被隐藏或覆盖。有时候,图例可能被隐式地设置为不可见或被其他元素覆盖。可以尝试使用theme()函数中的相应参数来调整图例的位置、方向和大小等属性。例如,使用theme(legend.position = "right")可以将图例放置在绘图区域的右侧。 另外,还可能是绘图的数据存在问题。如果数据中没有包含用于图例的变量或有缺失值,图例可能不会显示。确保数据中包含需要显示图例中的变量,并且这些变量的值是完整的。 最后,如果以上方法都没有解决问题,可能是因为使用了较老版本的ggplot2包。尝试将ggplot2更新到最新版本,以获得最佳的兼容性和功能。 综上所述,如果ggplot2显示图例,需要检查图例设置、位置和数据,并确保使用最新版本的ggplot2包。 ### 回答3: ggplot2显示图例的原因可能有以下几个: 1. 没有设置图例的标签:在ggplot中,需要使用scale_系列函数来设置图例的标签。例如,使用scale_colour_manual()函数来设置颜色图例的标签,使用scale_linetype_manual()函数来设置线型图例的标签。如果没有设置图例的标签,就不会显示图例。 2. 图例位置被设置在不可见的位置:默认情况下,图例显示绘图区域的右上角。如果图例的位置被设置在不可见的位置,就不会显示图例。可以使用theme()函数的legend.position参数来设置图例的位置,例如legend.position = "top"将图例显示绘图区域的顶部。 3. 图例被跳过或被隐藏:有时候,可以使用theme()函数的legend.title参数来控制图例显示与隐藏。如果将legend.title设置为element_blank(),就会隐藏图例。另外,使用guides()函数的参数可以控制某个图层是否显示图例。 如果仍然无法显示图例,可能是由于其他设置或代码错误导致的。可以检查代码中的设置是否正确,或者提供更详细的代码和数据,以便更好地帮助解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值