赞
踩
ggplot2 是一个 R 语言的绘图工具包,它使用基于图层的构建方式使得代码更加可读、灵活。下面是 ggplot2 常用参数的详细解释:
1. data:需要绘图的数据集,一般是一个数据框或类似结构的对象。
2. aes:用于映射数据到图形属性的参数,比如 x 轴和 y 轴、颜色、形状等。
3. geom:几何对象,用于描述数据在图形中呈现的形式,比如点、线、条形等。常用的有:geom_point、geom_line、geom_bar。
4. stat:统计变换,用于对数据进行统计处理,比如求均值、标准差等。常用的有:stat_summary、stat_bin。
5. scale:缩放对象,用于调整图形中的比例尺、颜色等。常用的有:scale_x_continuous、scale_y_continuous、scale_color_manual。
6. facet:分面对象,用于将图像分割成多个小区域,每个小区域可以看作一个子图。常用的有:facet_wrap、facet_grid。
7. theme:主题对象,用于控制图形的外观,比如背景颜色、字体大小等。常用的有:theme_bw、theme_light。
另外,ggplot2 还有一些其他的辅助参数,比如 labs、guides、annotation 等,用于在图像中添加标题、注释、图例等元素,使图形更加清晰明了。
部分参数如下:
1、data:
最基本的数据参数,直接指定数据框的名称
例如:
`ggplot(data = data)`
2、aes:
x:表示要映射到 x 轴的数据变量。
y:表示要映射到 y 轴的数据变量。
alpha:表示要映射到透明度的数据变量。
color:表示要映射到颜色的数据变量,通常用作分组变量。
fill:表示要映射到填充颜色的数据变量,通常用于柱状图和堆积图中。
shape:表示要映射到数据点形状的数据变量。
size:表示要映射到数据点大小的数据变量。
linetype:表示要映射到线条类型的数据变量。
group:表示要映射到数据分组的数据变量,通常与多个数据点绘制在同一个图层时使用。
例如:
绘制散点图
ggplot(data = data, aes(x = x, y = y, color = group)) + geom_point()
绘制折线图
ggplot(data = data, aes(x = x, y = y, color = group)) + geom_line()
绘制柱状图
ggplot(data = data, aes(x = group, y = y, fill = group)) + geom_bar(stat = "identity")
绘制散点图,并将点的透明度映射到 x 值
ggplot(data = data, aes(x = x, y = y, alpha = x)) + geom_point()
绘制散点图,并将点的形状映射到 group 值
ggplot(data = data, aes(x = x, y = y, shape = group)) + geom_point(size = 5)
绘制散点图,并将点的大小映射到 y 值
ggplot(data = data, aes(x = x, y = y, size = y)) + geom_point()
绘制折线图,并将线条类型映射到 group 值
ggplot(data = data, aes(x = x, y = y, linetype = group)) + geom_line(
3、geom
geom_blank:在图形中插入空白元素。
geom_curve:用于绘制平滑曲线。
geom_path:用于绘制点之间的连线。
geom_polygon:用于绘制多边形。
geom_rect:用于绘制矩形。
geom_ribbon:用于绘制带状区域。
geom_abline:用于绘制直线。
geom_hline:用于绘制水平线。
geom_vline:用于绘制垂直线。
geom_segment:用于绘制线段。
geom_spoke:用于绘制指向某一方向的线段。
geom_area:用于绘制面积图。
geom_density:用于绘制密度图。
geom_dotplot:用于绘制点图。
geom_freqpoly:用于绘制频数多边形图。
geom_histogram:用于绘制直方图。
geom_qq:用于绘制QQ图。
geom_bar:用于绘制柱状图。
geom_label:用于添加文本标签。
geom_jitter:用于对数据进行抖动,避免重叠。
geom_point:用于绘制散点图。
geom_quantile:用于绘制分位数图。
geom_rug:用于在坐标轴上绘制小竖条,表示数据的分布情况。
geom_smooth:用于添加平滑曲线或回归线。
geom_text:用于绘制文本。
geom_col:用于绘制堆积柱状图。
geom_boxplot:用于绘制箱线图。
geom_violin:用于绘制小提琴图。
geom_count:用于计算和绘制每个组中的观测值计数。
geom_contour:用于绘制等高线图。
geom_bin2d:用于绘制二维直方图。
geom_density2d:用于绘制二维密度图。
geom_hex:用于绘制六边形直方图。
geom_line:用于绘制折线图。
geom_step:用于绘制阶梯图。
geom_crossbar:用于绘制带有上下界的线段。
geom_errorbar:用于绘制误差棒。
geom_linerange:用于绘制带有最小值和最大值的线段。
geom_pointrange:用于绘制带有点和最小值最大值的线段。
geom_map:用于绘制地图。
geom_raster:用于绘制位图。
geom_tile:用于绘制矩形区域。
示例:
空白图
ggplot(data, aes(x = x, y = y)) + geom_blank()
点图
ggplot(data, aes(x = x, y = y)) + geom_point()
折线图/路径图
ggplot(data, aes(x = x, y = y)) + geom_line()
条形图/柱状图/堆积图
ggplot(data, aes(x = x, y = y)) + geom_bar(stat = "identity")
面积图
ggplot(data, aes(x = x, y = y)) + geom_area()
直方图/密度图
ggplot(data, aes(x = y)) + geom_histogram(binwidth = 0.5, color = "black", fill = "white")
盒须图/小提琴图
ggplot(data, aes(x = x, y = y)) + geom_boxplot()
线性回归模型拟合图/平滑曲线图
ggplot(data, aes(x = x, y = y)) + geom_smooth(method = "lm")
4、stat
stat_bin:创建直方图,将数据划分为若干个离散的区间并计算每个区间的数量。
stat_count:计算每个分组或每个唯一值的数量。
stat_density:绘制核密度估计图,表示连续变量的概率密度分布。
stat_bin_2d:创建二维直方图,用于显示两个变量之间的关系。
stat_bin_hex:创建六边形直方图,用于显示两个变量之间的关系,分布类似于地图上的蜂窝。
stat_density_2d:绘制二维核密度估计图,表示两个连续变量的概率密度分布。
stat_ellipse:绘制椭圆,展示二维连续变量之间的相关关系。
stat_contour:绘制等高线图,用于显示二维连续变量的密度分布。
stat_summary_hex:与 stat_bin_hex 类似,但是对数据进行汇总处理,用于显示数据总体特征。
stat_summary_2d:将数据汇总到网格中,并为每个单元格绘制一个点或标记,用于显示数据总体特征。
stat_boxplot:绘制箱线图,显示一个连续变量的五个重要统计量,包括最小值、第一四分位数、中位数、第三四分位数和最大值,以及异常值。
stat_ydensity:绘制沿 y 轴的密度图,即将数据在 y 轴上按顺序排列,并为每个 y 值绘制一条密度曲线。
stat_ecdf:绘制经验累积分布函数图,表示一个变量的累积分布函数。
stat_quantile:绘制分位数图,展示数据的分布情况和集中趋势。
stat_smooth:绘制平滑曲线,用于显示连续变量的趋势线。
stat_function:绘制函数图形,将给定函数的输出绘制为连续线条。
stat_identity:不做任何操作,仅绘制原始数据。
stat_qq:绘制正态概率图(Q-Q plot),用于检查数据是否符合正态分布。
stat_sum:将数据汇总到一个点或标记上,用于显示数据总体特征。
stat_summary:与 stat_sum 类似,但可以自定义汇总函数,例如 sum、mean 或 median。
stat_summary_bin:与 stat_summary 类似,但是将数据划分为若干个离散区间并对每个区间进行汇总。
stat_unique:对唯一值进行计数,并将它们绘制为点或标记。
5、scale
scale_fill_manual():手动设置离散型变量填充色,可以为每个取值指定一个特定的颜色。
scale_*_continuous():设置连续型变量的比例尺,可以指定最小值、最大值和中间点位置。
scale_*_identity():直接使用数据中存储的原始值来设置比例尺,适用于已经进行了数据处理和缩放的图表。
scale_*_manual():手动设置比例尺,可以为每个取值指定一个具体的属性值,例如颜色、大小、形状等。
scale_date() 和 scale_datetime():用于设置日期和时间类型的坐标轴,可以指定日期格式、刻度大小和标签方向等属性。
scale_x_log10():设置对数型 x 轴比例尺。
scale_x_reverse():翻转 x 轴方向。
scale_x_sqrt():设置平方根型 x 轴比例尺。
scale_*_brewer():使用 RColorBrewer 包中提供的调色板来设置颜色,可以选择不同的颜色主题。
scale_fill_grey():使用灰度色盘来设置离散型变量填充色。
scale_fill_distiller():使用色彩转换工具来设置离散型变量填充色,可以根据数据分布选择不同的颜色。
scale_fill_gradient():设置连续型变量的填充色,可以指定起始颜色和结束颜色。
scale_fill_gradient2():设置双色渐变调色板,可以指定起始颜色、中间点颜色和结束颜色。
scale_fill_gradientn():设置多色渐变调色板,可以选择 k-means 算法或分位数算法来进行聚类分组。
scale_shape() 和 scale_shape_manual():用于设置点的形状,可以选择圆形、三角形、正方形等多种形状。
scale_radius() 和 scale_size_area():用于设置点或标记的大小,可以指定半径或面积大小。
scale_size():设置点或标记的大小,可以指定具体的数值大小。
6、coord
coord_cartesian():默认的笛卡尔坐标系,可以设置 x 和 y 轴的范围。
coord_flip():将 x 和 y 轴交换,使得原来的横坐标变成纵坐标,反之亦然。
coord_polar():使用极坐标系绘制图形,可以用 angle 和 radius 分别表示角度和半径。
coord_fixed():设置坐标系的纵横比例,即 x 轴和 y 轴的单位长度比例。
coord_map():根据地图数据绘制地图图表,用于制作地理信息系统或地图可视化应用。
coord_trans():对坐标轴进行变换,例如对数、指数、倒数等变换,可用于处理数据分布不均匀或非线性的情形。
coord_3d():用于绘制三维图形,支持多种投影方式和视角调整。
coord_sf():用于绘制地理空间数据,支持多种地图投影方式。
coord_equal():用于设置坐标轴比例相等,即 x 和 y 轴的刻度长度相同。该函数适用于绘制等比例缩放的图形。
7、theme
theme_bw():白色背景、黑色主题,适合绘制黑白或单色调图形。
theme_classic():类似于基本主题,但去除了网格线和阴影效果,适合绘制传统的散点图和折线图等。
theme_minimal():最小化注释和装饰元素,只显示数据和坐标轴,适合绘制简单的图表。
theme_dark():黑暗主题,适合绘制夜间场景或科幻风格的图表。
theme_light():浅色主题,与 dark 相对应,适合绘制日间场景或经典风格的图表。
theme_void():完全没有主题,只有坐标轴和数据,适合自定义主题样式或无主题需求的情况。
8、facet
facet_wrap():绘制横向分面图
ggplot(mpg, aes(displ, hwy)) +
geom_point() +
facet_wrap(~ manufacturer, ncol = 3)
facet_grid():绘制二维分面图
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point() +
facet_grid(cyl ~ .)
facet_grid():绘制垂直堆叠式分面图
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point() +
facet_grid(. ~ cyl)
9、labs
x:横轴标签
y:纵轴标签
title:标题
subtitle:子标题文字内容
caption:图表底部的标注说明文字内容
tag:图表顶部的标签文字内容
sep:标题和子标题之间的分隔符,默认为 " \u2014 "。
label:添加标记来引用图表。
parse:默认为 FALSE,标量值可以通过下划线 _ 插入换行符 "\n" 来实现多行标题。如果设置为 TRUE,则可以使用 ggplot2 的解析器来解析文本字符串(仅限字符向量)。
10、guides() 函数用于修改图表的图例(legend)元素
legend.position:设置图例的位置,可选值包括 "right"、"top"、"bottom"、"left" 或者两个数值向量,分别表示 x 和 y 轴的偏移量。
ggplot(mpg, aes(x = displ, y = hwy, color = class)) + geom_point() + guides(color = guide_legend(title = "车辆类别"), position = "right")
guide_legend():设置图例的属性,例如标题、标签颜色、形状等。我们可以通过传入不同的参数值来调整图例的外观和布局。例如,可以通过下面的代码修改图例的标题和标签颜色。
ggplot(mpg, aes(x = displ, y = hwy, color = class)) + geom_point() + guides(color = guide_legend(title = "车辆类别", label.color = "blue"))
guide_colorbar():设置渐变色条(colorbar)的属性,例如标题、刻度线、颜色等。我们可以通过传入不同的参数值来调整渐变色条的外观和布局。例如,可以通过下面的代码修改渐变色条的标题和颜色范围。
ggplot(faithfuld, aes(waiting, eruptions, fill = density)) + geom_tile() + scale_fill_gradient(low = "blue", high = "red") + guides(fill = guide_colorbar(title = "密度", barwidth = 20))
11、annotation() 函数用于在图表中添加注释(annotation)元素,例如文本、箭头、线条等
"text":添加文本注释元素,通常用于标注具体数值或名称。
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point() +
annotation_custom(
grob = textGrob("数据点示例", gp = gpar(col = "red", fontsize = 14)),
xmin = 4,
xmax = 5,
ymin = 30,
ymax = 35
)
上述代码创建了一个散点图,其中用不同的点区分不同的汽车型号,通过 annotation() 函数设置了一个红色的文本注释元素表示数据点示例,位置位于 x 轴范围为 [4,5],y 轴范围为 [30,35] 的区域内。
"segment":添加线段注释元素,通常用于连接两个或多个点或区域。
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point() +
annotation_custom(
grob = linesGrob(gp = gpar(col = "red", lty = "dashed")),
xmin = 4,
xmax = 5,
ymin = 30,
ymax = 35
)
上述代码创建了一个散点图,其中用不同的点区分不同的汽车型号,通过 annotation() 函数设置了一个虚线注释元素表示连接 x 轴范围为 [4,5],y 轴范围为 [30,35] 的两个点。
"arrow":添加箭头注释元素,通常用于标注方向或指向性信息。
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point() +
annotation_custom(
grob = arrowGrob(angle = 45, gp = gpar(col = "blue", lwd = 2)),
xmin = 3,
xmax = 4,
ymin = 10,
ymax = 15
)
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。