迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

修改 R 中的 ggplot X 轴刻度标签

作者:迹忆客 最近更新:2023/03/21 浏览次数:

本文将介绍如何在 R 中修改 ggplot x 轴刻度标签。

使用 scale_x_discrete 修改 R 中的 ggplot X 轴刻度标签

scale_x_discretescale_y_discrete 一起用于对绘图比例标签和限制进行高级操作。在这种情况下,我们使用 scale_x_discrete 来修改 ggplot 对象的 x 轴刻度标签。请注意,第一个 ggplot 对象是基于 diamonds 数据集的条形图。该图使用 cut 列并在 y 轴上绘制每种类型的计数。x 轴具有默认标题 - cut,可以通过将字符串作为 scale_x_discrete 的第一个参数进行修改。或者,我们可以通过构造一个向量并将其分配给 labels 参数来为每个标签传递特定的字符串值。两个图都是使用 grid.arrange 函数并排绘制的,grid.arrange 函数是 gridExtra 包的一部分。

library(ggplot2)
library(gridExtra)

p1 <- ggplot(diamonds, aes(cut)) + geom_bar(fill = "orange") + scale_x_discrete("Cut")
p2 <- p1 + scale_x_discrete("Cut Type", labels = c("Fair" = "F","Good" = "G", "Very Good" = "VG","Premium" = "P","Ideal" = "I"))

grid.arrange(p1, p2, ncol = 2)

ggplot 轴刻度标签 1

修改 x 轴上标签的另一种有用方法是将函数对象作为 labels 参数传递。下一个代码片段使用 abbreviate 函数自动缩短标签,然后将图形绘制为两列。

library(ggplot2)
library(gridExtra)

p1 <- ggplot(diamonds, aes(cut)) + geom_bar(fill = "orange") + scale_x_discrete("Cut")
p2 <- p1 + scale_x_discrete("Cut Type", labels = c("Fair" = "F","Good" = "G", "Very Good" = "VG","Premium" = "P","Ideal" = "I"))
p3 <- p1 + scale_x_discrete("Cut Type", labels = abbreviate)

grid.arrange(p2, p3, ncol = 2)

ggplot 轴刻度标签 2

scale_x_discrete 在不同的图上的工作方式类似,标签操作技术是适用的,如下例所示。也就是说,从 mpg 数据集中绘制了几个散点图。

library(ggplot2)
library(gridExtra)

p1 <- ggplot(mpg, aes(manufacturer, cty)) + geom_point()

p2 <- ggplot(mpg, aes(manufacturer, cty)) + geom_point() +
  scale_x_discrete(labels = abbreviate)

p3 <- ggplot(mpg, aes(manufacturer, cty)) + geom_point(colour = "blue") +
  scale_x_discrete(labels = abbreviate)

grid.arrange(p1, p2, p3, nrow = 3)

ggplot 轴刻度标签 3

使用 scale_x_discrete 和自定义函数来修改 R 中的 ggplot X 轴刻度标签

scale_x_discrete 参数 labels 可以采用自定义函数对象来相应地修改每个刻度标签。在这种情况下,我们实现了 capitalize_all 函数,它首先缩写每个标签,然后将字符串的起始字符转换为大写字母。请注意,pastetouppersubstringabbreviate 内置函数用于实现 capitalize_all 功能,但对这些方法的全面回顾超出了本文的范围。可以在 R 控制台中使用 ?function_name 表示法显示手册页。

library(ggplot2)
library(gridExtra)

capitalize_all <- Vectorize(function(x) {
  s <- abbreviate(x)
  paste(toupper(substring(s, 1,1)), substring(s, 2), sep="", collapse=" ")
})

ggplot(mpg, aes(manufacturer, cty)) + geom_point(aes(colour = trans)) +
  scale_x_discrete(labels = capitalize_all)

ggplot 轴刻度标签 4

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

R 中具有多个条件的函数向量化

发布时间:2023/03/21 浏览次数:64 分类:编程语言

一项常见的数据分析任务是根据同一行的其他列使用一个或多个条件创建或更新数据框列。 如果我们尝试使用 if 语句来执行此操作,则只会使用第一行来测试条件,并且会根据该行更

在 R 中读取 xlsx 文件

发布时间:2023/03/21 浏览次数:66 分类:编程语言

在这篇文章中,你将会了解到两个在 R 中读取 xlsx 文件的最完整和最容易使用的库:readxl 和 openxlsx。

清理 R 的环境

发布时间:2023/03/21 浏览次数:178 分类:编程语言

在本教程中,你将学习如何在 R 中编写一个函数,在不需要重新启动 R 的情况下清除环境。

在 R 中注释掉多行

发布时间:2023/03/21 浏览次数:63 分类:编程语言

在本文中,你将学习如何在 R 中注释出多行,而不必在每一行的开头手动写一个#字符来注释。

在 R 中清除内存

发布时间:2023/03/21 浏览次数:197 分类:编程语言

在本教程中,你将学习如何清除 R 系统占用的内存,而不必重新启动它或重新启动它运行的计算机。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便