迹忆客 专注技术分享

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

在 R 中使用 ggplot 创建直方图

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

本文将演示如何在 R 中使用 ggplot 创建直方图。

在 R 中使用 geom_histogram 使用 ggplot 创建直方图

使用 geom_histogram 函数构建一个简单的直方图,它只需要一个变量来绘制图形。在这种情况下,我们使用 diamonds 数据集,即其中的 price 列,来指定到 x 轴的映射。除非用户明确传递,否则 geom_histogram 会自动选择 bin 大小和比例数据点。

library(ggplot2)

p1 <- ggplot(diamonds, aes(x = price)) +
  geom_histogram()

p1

R ggplot 直方图 1

以下示例扩展了前面的代码片段,以使用 scale_x_continuousscale_y_continuous 函数指定每个轴上的断点。breaks 参数用于传递由 seq 函数生成的值。seq 参数在形成模式时读起来很直观 - (from, to, by)。我们还利用 grid.arrange 函数并排显示两个图形以进行视觉比较。

library(ggplot2)
library(gridExtra)

p1 <- ggplot(diamonds, aes(x = price)) +
  geom_histogram()

p2 <- ggplot(diamonds, aes(x = price)) +
  geom_histogram() +
  scale_y_continuous(breaks = seq(1000, 14000, 2000)) +
  scale_x_continuous(breaks = seq(0, 18000, 2000))

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

ggplot 直方图 2

使用 fillcoloursize 参数修改 R 中的直方图视觉效果

诸如 fillcoloursize 等常用参数可用于更改图形箱的视觉效果。fill 参数指定填充 bin 的颜色;相比之下,colour 用于 bin 笔划。size 使用数值来表示 bin 笔划的宽度。另请注意,以下代码片段将 name 参数添加到两个轴。

library(ggplot2)
library(gridExtra)

p3 <- ggplot(diamonds, aes(x = price)) +
  geom_histogram(fill = "pink", colour = "brown") +
  scale_y_continuous(breaks = seq(1000, 14000, 2000)) +
  scale_x_continuous(breaks = seq(0, 18000, 2000))

p4 <- ggplot(diamonds, aes(x = price)) +
  geom_histogram(fill = "pink", colour = "brown", size = .3) +
  scale_y_continuous(breaks = seq(1000, 14000, 2000), name = "Number of diamonds" ) +
  scale_x_continuous(breaks = seq(0, 18000, 2000), name = "Price" )

grid.arrange(p3, p4, nrow = 2)

ggplot 直方图 3

在 R 中使用 facet_wrap 构建按类别分组的多个直方图

facet_wrap 函数可用于根据变量集绘制多个直方图。diamonds 数据集提供了足够的维度来从其中一列中选择变量。例如,我们选择 cut 列来显示每种类型的不同 price 直方图。theme 函数也可以与 geom_histogram 结合使用来指定图形元素的自定义格式。

library(ggplot2)

p5 <- ggplot(diamonds, aes(x = price)) +
  geom_histogram(fill = "pink", colour = "brown", size = .3) +
  scale_y_continuous( name = "Number of diamonds" ) +
  scale_x_continuous( name = "Price" ) +
  facet_wrap(~cut) +
  theme(
    axis.title.x = element_text(
      size = rel(1.2), lineheight = .9,
      family = "Calibri", face = "bold", colour = "black"
    ),
    axis.title.y = element_text(
      size = rel(1.2), lineheight = .9,
      family = "Calibri", face = "bold", colour = "black"
    ),
    plot.background = element_rect("yellow"))


p5

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便