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

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

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

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

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

让我们从加载 tidyverse 开始。

library(tidyverse)
theme_set(theme_bw(16))

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

diamonds %>% head()

带彩色点的散点图

让我们在两个变量之间绘制散点图,并使用 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")

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

我们可以使用带有颜色参数的 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")

带填充颜色的条形图

在第二个示例中,让我们制作一个条形图,其中填充了第二个变量指定的颜色。我们在这里使用 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")

我们可以使用 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")

相关文章
|
18天前
|
数据挖掘 数据处理 索引
使用Python实现DataFrame中奇数列与偶数列的位置调换
使用Python实现DataFrame中奇数列与偶数列的位置调换
15 1
|
18天前
|
存储 数据挖掘 vr&ar
深入探索Numpy--索引,切片,随机数,文本操作等
深入探索Numpy--索引,切片,随机数,文本操作等
|
18天前
|
存储 算法 Java
给定一组棋子的坐标,判断是否可以互相攻击。如果两个棋子的横纵坐标任意一个相同,则认为它们可以互相攻击。(提示:使用哈希表)
给定一组棋子的坐标,判断是否可以互相攻击。如果两个棋子的横纵坐标任意一个相同,则认为它们可以互相攻击。(提示:使用哈希表)
22 0
|
10月前
G2Plot Line 线性 x 轴头尾两头不留空白(或指定留白范围)
G2Plot Line 线性 x 轴头尾两头不留空白(或指定留白范围)
62 0
|
9月前
Range滑动条颜色分区问题
Range滑动条颜色分区问题
60 1
|
9月前
|
测试技术
Dev TrackBar的使用--坐标轴反转以及滚轮反向解决
Dev TrackBar的使用--坐标轴反转以及滚轮反向解决
python 绘图 实现图中为字体添加下标、上标
python 在绘图添加图例时,一些数学符号或者公式常常包含上标和下标,这里简单描述了如何实现上述要求。
python 绘图 实现图中为字体添加下标、上标
|
存储 Python
python 如何实现数组的间隔排列:每一行比前一行间隔一个位置排列。
最近,在处理一些数据时,由于数据是按照每小时进行采样的,为了保持周期的完整性,需要将同一时刻对应的数据进行平均处理。
python 如何实现数组的间隔排列:每一行比前一行间隔一个位置排列。
python 绘制箱型图(boxplot)时如何去掉出现的连续散点
python 绘制箱型图(boxplot)时如何去掉出现的连续散点
python 绘制箱型图(boxplot)时如何去掉出现的连续散点
|
开发者 Python
数组形状操作|学习笔记
快速学习数组形状操作
67 0

热门文章

最新文章