ggplot2
包并查看官方文档ggplot2
是一个基于图形语法的R包,它允许用户通过声明式方式指定数据、美学映射和图形元素来灵活创建复杂且美观的可视化图表。
ggplot2
包官方教学文档:
在R语言中安装ggplot2
有两种方法:
install.packages("tidyverse")
ggplot2
包,而不需要tidyverse
中的其他包,可以单独安装它。只需在R交互式页面运行以下命令:install.packages("ggplot2")
在安装完成ggplot2
包后再R脚本或者R交互式页面输入命令即可导入该包
library(ggplot2)
在交互式页面中输入命令即可查看包的文档和示例代码:
help("ggplot2")
ggplot2
包中的函数、美学特性及其他功能列表美学特性(Aesthetics)
注释(Annotations)
坐标(Coordinates)
数据(Data)
以下为ggplot2包
中的自带数据集:
分面(Faceting)
几何对象(Geometries)
指南(Guides)
标签(Labels)
图层(Layers)
比例尺(Scales)
统计(Statistics)
主题(Themes)
杂项(Miscellaneous)
%+%
和 +.gg
:向绘图添加组件。%
+replace%
:替换活动主题的组件。ggplot2
包应用示例ggplot()
函数的基础使用方法ggplot2
是 R 语言中一个极为强大的数据可视化包,它基于 The Grammar of Graphics 设计哲学,允许用户以声明式的方式创建复杂而优雅的图形。ggplot()
函数是 ggplot2
包的核心,用于初始化一个绘图对象,该对象可以进一步通过添加各种图层(如几何对象、统计变换、坐标系统等)来丰富和完善。
ggplot()
函数的基本语法如下:
ggplot(data = NULL, mapping = aes(), ..., environment = parent.frame())
data
: 一个数据框(data frame)或能够被转换为数据框的对象,它包含了绘图所需的数据。mapping
: 一个使用 aes()
函数创建的映射对象,定义了数据中的变量如何映射到图形的美学属性(如 x 轴、y 轴、颜色、大小等)。...
: 其他传递给 ggplot()
的参数,这些参数通常不常用。environment
: 一个环境对象,通常不需要手动指定,它默认使用调用 ggplot()
的环境。在使用 ggplot2
创建图形时,通常遵循以下步骤:
ggplot()
函数,并指定数据和映射。+
操作符连接几何函数(如 geom_point()
、geom_line()
、geom_bar()
等),这些函数定义了数据的可视化方式。print()
函数(可以省略,RStudio 会自动显示图形)或 ggsave()
函数将图形保存到文件。以下是一个使用 ggplot2
创建散点图的标准示例:
library(ggplot2)
# 建立一个名为df的数据框,包含x和y两个变量
# df <- data.frame(x = 1:10, y = rnorm(10))
# 初始化绘图对象,并指定x和y的映射
p <- ggplot(data = df, mapping = aes(x = x, y = y))
# 添加散点图的几何对象
p <- p + geom_point()
# 调整美学属性
p <- p + theme_minimal() + labs(title = "散点图示例", x = "X 轴", y = "Y 轴")
# 显示图形
print(p)
# 将图形保存到文件
# ggsave("scatter_plot.png", plot = p, width = 6, height = 4)
在这个示例中,先使用 ggplot()
函数初始化了一个绘图对象 p
,并指定了数据 df
以及 x
和 y
的映射。然后,我们使用 +
操作符添加了 geom_point()
函数来创建散点图。接着,我们通过添加 theme_minimal()
和 labs()
函数来调整了图形的美学属性和标签。最后,我们使用 print()
函数显示了图形(在 RStudio 中这一步通常是自动的),或者使用 ggsave()
函数将图形保存到文件中。
这里使用了ggplot2
包中自带的diamonds(钻石价格数据集)
,data = diamonds
,aes(x = price)
定义了映射,将price
变量映射到x轴。
geom_histogram(binwidth = 500, fill = "blue", color = "black", alpha = 0.7)
添加了直方图几何对象,并设置了组距(binwidth)为500
,填充颜色为蓝色,边框颜色为黑色,透明度为0.7。
labs(title = "Price Distribution of Diamonds", x = "Price ($)", y = "Count")
添加了标题和轴标签。
theme_minimal()
是一个可选步骤,用于应用简洁的主题样式。
library(ggplot2)
ggplot(data = diamonds, aes(x = price)) +
geom_histogram(binwidth = 500, fill = "blue", color = "black", alpha = 0.7) +
labs(title = "钻石价格分布图", x = "价格", y = "数量")
这里使用了R语言自带的mtcars小车车数据集
library(ggplot2)
ggplot(data = mtcars, aes(x = mpg, y = disp)) +
geom_line(color = "red") +
labs(title = "汽车每加仑行驶里程与排量的关系", x = "每加仑行驶里程(mpg)", y = "排量(disp)")
ggplot(data = mpg, aes(x = displ, y = hwy, color = drv)) +
geom_line() +
labs(title = "不同驱动类型的高速公路里程", x = "排量(升)", y = "高速公路里程(mpg)")
library(ggplot2)
ggplot(mpg, aes(displ, hwy, colour = class)) +
geom_point()
箱型图(Box Plot)又称为箱线图或盒须图,是一种用于显示一组数据分散情况资料的统计图。它能显示出一组数据的最大值、最小值、中位数、下四分位数和上四分位数,从而直观地展现数据的分布特征和异常值。
library(ggplot2)
# 使用iris数据集
data(iris)
ggplot(iris, aes(x = Species, y = Sepal.Length, fill = Species)) +
geom_boxplot() +
labs(title = "Sepal Length Boxplot by Species",
x = "Species",
y = "Sepal Length")
library(ggplot2)
# 使用mtcars数据集
data(mtcars)
# 计算每个缸数的数量
cyl_counts <- table(mtcars$cyl)
# 转换为数据框并计算比例
cyl_df <- as.data.frame(cyl_counts)
cyl_df$proportion <- cyl_df$Freq / sum(cyl_df$Freq)
# 绘制饼图(注意:ggplot2没有直接的饼图函数,我们使用coord_polar转换)
ggplot(cyl_df, aes(x = "", y = proportion, fill = Var1)) +
geom_bar(width = 1, stat = "identity") +
coord_polar(theta = "y") +
labs(title = "Pie Chart of Car Cylinders",
fill = "Cylinders") +
theme_void()
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务