plot python 修改属性_8.8 图例:修改图例的(项目)标签

本文详细介绍了如何在R语言的ggplot2库中定制图例的项目标签,包括单独调整、复合图例管理(颜色和点型)、以及处理复杂图例逻辑。通过实例演示了如何改变图例顺序、标签内容,以及应对变量映射多个图形属性的情况。
摘要由CSDN通过智能技术生成

参考自《R Graphics Cookbook》

修改图例的(项目)标签的方法

首先,如下图所示,图例通常首先有个标题,然后有图形中的各个项目对应的示意图和各个项目的标签

ecdc06db0c0637d93c6dce61eead4200.png

本节三个部分:

一、针对一个图例的情况;

二、针对一个变量映射两个图形属性生成复合图例的情况(比如颜色和点型)

三、总结

library(ggplot2)

一、针对一个图例的情况

#底图:默认图例的项目便签对应映射分组变量的数据,即此处映射给fill的group变量的数据

pg_plot <- ggplot(PlantGrowth, aes(x = group, y = weight, fill = group)) +

geom_boxplot()

26fec55ce4a19983408630caad4efbee.png

#在标度设置labels参数,修改语图例的项目标签内容,此时x轴上的项目标签并不会变

pg_plot +

scale_fill_discrete(labels = c("Control", "Treatment 1", "Treatment 2"))

26bdfec83734b8fb4c950cb49d7926f8.png

#如果想要同时修改x轴上图的项目标签,则需要在标度中针对x轴的labels进行设置

pg_plot +

scale_fill_discrete(labels = c("Control", "Treatment1", "Treatment2")) +

scale_x_discrete(labels = c("Control", "Treatment1", "Treatment2"))

16d5d8606c7c956aec945e4ccc447db7.png

#事实上,当映射fill属性给分组变量时,其默认的逻辑就是使用scale_fill_discrete(),给每个被区分的项目分别上色,这时候叫其discrete

#还有其他的上色,如上一个灰色的系列

pg_plot +

scale_fill_grey(start = .5, end = 1, labels = c("Control", "Treatment 1", "Treatment 2"))

734b42debb59cab4936b27c3fb7f8027.png

#如果首先指定了图例的顺序,又指定图例项目的标签,那么首先图例的顺序确定,同时,x轴上的图会按照图例的项目上色(此例中是红绿蓝的顺序),然后图例的标签依设定的次序排列。#好吧,其实这个设计很晕了已经

pg_plot +

scale_fill_discrete(

limits = c("trt1", "trt2", "ctrl"),

labels = c("Treatment 1", "Treatment 2", "Control"))

d2580c90f95d6d68fcaf47403d886e66.png

二、针对一个变量映射两个图形属性的情况(颜色和点型)

library(gcookbook)

#此时默认是结合了颜色和点型的一个复合图例

hw_plot <- ggplot(heightweight, aes(x = ageYear, y = heightIn,

shape = sex, colour = sex)) +

geom_point()

hw_plot

cee7fe2c59a24f27cb02d7fbdc2e8f89.png

#如果只修改一个图形属性的图例标签,则会由于和另一个默认的冲突,图例由一个变两个

hw_plot +

scale_shape_discrete(labels = c("Female", "Male"))

6fb56843bec09d84115c0fb9d7dc95a3.png

#只有同时将两个图形属性的图例标签修改为相同的才会再回到默认的一个复合图例,否则还是分成两个

hw_plot +

scale_shape_discrete(labels = c("Female", "Male")) +

scale_colour_discrete(labels = c("Female", "Male"))

fe138f8023447d0bee5c536d67881383.png

#其他针对图例的标度

a099b3e3717dc8732e39d31b10aedc4d.png

三、总结

复杂程度感人,要是每次都这么操作,到底还做不做图了?

这是做图呢,还是做逻辑推理呢?快要劝退自己了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值