[数据分析与可视化] 数据绘图要点10-图例的构建

数据绘图要点10-图例的构建

图例是数据可视化中传达信息非常关键的部分,因此创建合适的图例非常重要。这篇文章描述了如何设置ggplot2图例中的标题、文本、位置、符号等。

文章目录

  • 数据绘图要点10-图例的构建
    • ggplot2图例设置
      • ggplot2创建默认图例
      • 更改图例标题labs()
      • 图例信息的删除
      • 控制图例位置
      • 图例外观设置
    • 参考

ggplot2图例设置

ggplot2创建默认图例

默认情况下,只要形状特征映射到ggplot调用的aes()部分中的变量,ggplot2就会自动在图表上生成图例。因此,如果您在ggplot2中设置颜色、形状或透明度,则会默认创建图例。如果你想查看ggplot2可以设置的信息,调用ggplot2::theme即可。

# 加载ggplot2
library(ggplot2)
# 展示自带的mtcars数据
head(mtcars)
A data.frame: 6 × 11
mpgcyldisphpdratwtqsecvsamgearcarb
Mazda RX421.061601103.902.62016.460144
Mazda RX4 Wag21.061601103.902.87517.020144
Datsun 71022.84108 933.852.32018.611141
Hornet 4 Drive21.462581103.083.21519.441031
Hornet Sportabout18.783601753.153.44017.020032
Valiant18.162251052.763.46020.221031
# 绘图
# 横轴wt,纵轴mpg,颜色cyl,形状factor
basic <- ggplot(mtcars, aes(wt, mpg, colour = factor(cyl), shape = factor(vs) )) +geom_point()
basic

png

更改图例标题labs()

labs()函数允许更改图例标题。您可以为图例的每个部分指定一个标题,即图表中使用的每个美学aesthetics 。

# 在默认图表的基础上设置图例标题
basic+labs(colour = "colour",shape = "shape")

png

图例信息的删除

通过theme()和guides()可以删除整个图例或图例的特定部分。

# 删除shape
basic + guides(shape=FALSE) +
labs(colour = "colour",shape = "shape")
Warning message:
"`guides( = FALSE)` is deprecated. Please use `guides( = "none")` instead."

png

# 删除图例
basic + theme(legend.position = "none")

png

控制图例位置

ggplot2允许将图例放在任何地方。如果将图例放在图表周围,使用legend.position选项并指定top,right,bottom,或left。要将图例放在绘图区域内,指定一个长度为2的向量,两个值都在 0 和 1 之间,并给出x和y坐标即可。

# 将图例放在图表左边
basic + theme(legend.position = "left")

png

# 将图例放在图表左边
# legend.justification设置图例位置后,图例具体所处方位
basic + theme(legend.position = "left",legend.justification = c("left", "center"))

png

basic + theme(legend.position = c(0.55, 0.95), # 设置图例起始位置,左下角为原点,横坐标和纵坐标范围都为0到1legend.justification = c("right", "top"), #设置图例位置后,图例具体所处方位legend.box.just = "right", # 设置不同图例对齐方式legend.margin = margin(6, 6, 6, 6) # 设置图例内容外边距)

png

图例外观设置

以下是 4 个示例,展示了如何自定义图例的主要功能:

  • legend.box 自定义图例外框
  • legend.key 设置图例中每一个变量key值的展示信息
  • legend.text 设置图例字体
  • legend.title 设置图例标题
# 自定义图例外框
basic + theme(# 设置外框颜色legend.box.background = element_rect(color="red", size=2),# 设置外框边距legend.box.margin = margin(36, 6, 6, 6)
)

png

# 设置图例中每一个变量key值的展示信息
basic + theme(legend.key = element_rect(fill = "blue", colour = "black"))

png

# 自定义图例字体颜色
basic + theme(legend.text = element_text(size = 8, colour = "red"))

png

# 设置图例标题
basic + theme(legend.title = element_text(face = "bold",colour = 'red'))

png

参考

  • Building a nice legend with R and ggplot2


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部