如何反转ggplot2中的图例键顺序

简介: 如何反转ggplot2中的图例键顺序

动动发财的小手,点个赞吧!

本教程中,我们将学习如何反转 ggplot2 中图例键的顺序。

在 ggplot2 中,当我们在 aes() 中使用颜色或填充参数为变量着色时,我们会得到一个带有键的图例,显示哪些键匹配哪些颜色。在这里,我们将展示如何使用 guides() 参数为两种类型的图反转图例键的顺序,一种是带有由“颜色”参数制作的图例的散点图,另一种是带有颜色的条形图添加了“填充”参数。

让我们从加载 tidyverse 开始。

library(tidyverse)
theme_set(theme_bw(16))
AI 代码解读

我们将使用 tidyverse 提供的钻石数据。

diamonds %>% head()
AI 代码解读

带彩色点的散点图

让我们在两个变量之间绘制散点图,并使用 aes() 中的颜色参数为第三个(分类)变量着色。

在这里,我们使用从钻石数据中随机抽取的 200 个数据点,使用 slice_sample() 函数制作散点图。

diamonds %>% 
  slice_sample(200) %>%
  ggplot(aes(x=carat, y=price, color=cut))+
  geom_point()
ggsave("how_to_reverse_legend_key_order_legend_with_color.png")
AI 代码解读

这就是使用默认图例键排序的散点图的样子。

我们可以使用带有颜色参数的 guides() 函数来反转图例键顺序。我们使用颜色参数来反转,因为我们之前在 aes() 函数中使用颜色参数创建了图例。 reverse = TRUE 的 guide_legend() 函数实际上颠倒了 kegend 键顺序。

diamonds %>% 
  slice_sample(n=200) %>%
  ggplot(aes(x=carat, y=price, color=cut))+
  geom_point()+
  guides(color = guide_legend(reverse = TRUE))
ggsave("reverse_legend_key_order_legend_with_color.png")
AI 代码解读

带填充颜色的条形图

在第二个示例中,让我们制作一个条形图,其中填充了第二个变量指定的颜色。我们在这里使用 aes() 中的 fill 参数来添加颜色,用颜色填充条形图。

diamonds %>% 
  ggplot(aes(cut, fill=clarity))+
  geom_bar()+
  scale_fill_brewer(palette="Dark2")
ggsave("how_to_reverse_legend_key_order_legend_with_fill.png")
AI 代码解读

我们可以使用 guides() 函数,但这次使用 fill 参数来反转此处的图例键顺序,因为图例是使用 aes() 中的 fill 参数创建的。

diamonds %>% 
  ggplot(aes(cut, fill=clarity))+
  geom_bar()+
  scale_fill_brewer(palette="Dark2")+
  guides(fill = guide_legend(reverse = TRUE))
ggsave("reverse_legend_key_order_for_legend_with_fill.png")
AI 代码解读

目录
打赏
0
0
0
0
331
分享
相关文章
G2Plot Tooltip 自定义头部、尾部、辅助线
G2Plot Tooltip 自定义头部、尾部、辅助线
293 0
查找和绘制直方图
【6月更文挑战第12天】查找和绘制直方图。
95 1
|
3月前
|
如何设置单元格的填充颜色?
【10月更文挑战第22天】如何设置单元格的填充颜色?
105 2
|
3月前
表格数据填充方法单元格数据填充
表格数据填充方法单元格数据填充【10月更文挑战第22天】
80 2
G2Plot Line 线性 x 轴头尾两头不留空白(或指定留白范围)
G2Plot Line 线性 x 轴头尾两头不留空白(或指定留白范围)
136 0
Range滑动条颜色分区问题
Range滑动条颜色分区问题
125 1
Dev TrackBar的使用--坐标轴反转以及滚轮反向解决
Dev TrackBar的使用--坐标轴反转以及滚轮反向解决
LeetCode-2038 如果相邻两个颜色均相同则删除当前颜色
LeetCode-2038 如果相邻两个颜色均相同则删除当前颜色
【Excel自动化办公Part2】:向某个格子里写入内容、append()插入行、在表格中插入公式、插入行和列、删除行和列、移动格子
【Excel自动化办公Part2】:向某个格子里写入内容、append()插入行、在表格中插入公式、插入行和列、删除行和列、移动格子
248 0
【Excel自动化办公Part2】:向某个格子里写入内容、append()插入行、在表格中插入公式、插入行和列、删除行和列、移动格子
翻转单词顺序
翻转单词顺序
115 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等