首页 > 其他分享 >如何反转ggplot2中的图例键顺序

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

时间:2023-05-18 22:55:19浏览次数:46  
标签:aes 颜色 reverse 反转 图例 ggplot2 legend fill

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

本教程中,我们将学习如何反转 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")

本文由mdnice多平台发布

标签:aes,颜色,reverse,反转,图例,ggplot2,legend,fill
From: https://www.cnblogs.com/swindler/p/17413546.html

相关文章

  • LC206. 反转链表
    Q:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例:示例1:输入:head=[1,2,3,4,5]输出:[5,4,3,2,1]示例2:输入:head=[1,2]输出:[2,1]示例3:输入:head=[]输出:[]提示:链表中节点的数目范围是 [0,5000]-5000<=Node.val<=5000A:思路:该题属于简......
  • 代码随想录算法训练营第8天 | ● 344.反转字符串 ● 541. 反转字符串II ● 剑指Offer
     第四章 字符串part01  今日任务  ●  344.反转字符串●  541. 反转字符串II●  剑指Offer 05.替换空格●  151.翻转字符串里的单词●  剑指Offer58-II.左旋转字符串  详细布置   344.反转字符串  建议: 本题是字符串基础题目,就是考察......
  • 整数反转
    题目描述:输入一个3位自然数,把这个数的百位与个位数对调,输出对调后的自然数输入格式:一行,一个3位自然数输出格式:输出仅一行,对调后的自然数。样例输入:168样例输出:861......
  • 第二篇C刊记录——反转识别
    1基本情况题目:基于动态主题聚类的网络舆情反转识别模型构建与实证研究录用期刊:情报理论与实践撰写周期:15days审稿周期:2months2写作经过(1)思路来源:OB给的题目,确实好写噢。原始思路是找多个案例;对案例文本反转前聚个类,反转后聚个类,在不断添加中发现区别;在反转瞬间之前提前......
  • 昆仑mcgs 通讯控制台达B2伺服采用modbus rtu方式,昆仑屏直接控制台达b2伺服的正反转,停
    昆仑mcgs通讯控制台达B2伺服采用modbusrtu方式,昆仑屏直接控制台达b2伺服的正反转,停止及速度设定,简单好上手,a2伺服也可以用,内容包含程序,教程,接线及参数设置ID:3612600974388132......
  • 台达DVP 24ES和三菱E700变频器rtu通讯程序程序采用modbus rtu方式,台达24es控制E700变
    台达DVP24ES和三菱E700变频器rtu通讯程序程序采用modbusrtu方式,台达24es控制E700变频器的正反转,停止及指示,频率的设定及加减速,以及对运行频率,电流,电压,状态的读取。反应快,程序完整。通讯施耐德312,外部端子启停,频率通过给定已测试成功ID:2814587916677591......
  • 台达tp04g和台达变频器的modbus rtu通讯程序 效果可以看视频,可以控制正反转,停止,频率设
    台达tp04g和台达变频器的modbusrtu通讯程序效果可以看视频,可以控制正反转,停止,频率设定,两条线就可以了,方便快捷,只是程序,非实物ID:5616582989564783......
  • 信捷plc和台达变频器通信程序通过信捷xc3的modbus通信控制台达vfd-m变频器的正转,反转,
    信捷plc和台达变频器通信程序通过信捷xc3的modbus通信控制台达vfd-m变频器的正转,反转,加减速,停止。同时可以威纶触摸屏监控变频器的运转频率,电压,电流,资料详细,包括参数的设置和plc的程序,接线。这个你不需要加通信扩展模块,因为plc自带的有,简单,方便,好操作,绝对是做modbus通信控制的首选......
  • 代码随想录算法训练营第三天|203.移除链表元素 、707.设计链表 、206.反转链表
    一.链表基础1.最后一个节点的指针域指向null(空指针的意思)。2.链表在内存中不是连续分布的。3.链表的长度可以是不固定的,并且可以动态增删,适合数据量不固定,频繁增删,较少查询的场景。1#链表节点的定义2classListNode:3def__init__(self,val,next=None):4......
  • [NOIP2011 普及组] 数字反转
    [NOIP2011普及组]数字反转题目描述给定一个整数\(N\),请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。输入格式一个整数\(N\)。输出格式一个整数,表示反转后的新数。样例#......