散点图是一种在直角坐标系中用数据点直观呈现两个变量之间关系、可检测异常值并探索数据分布的可视化图表。它是一种常用的数据可视化工具,我们通过不同的参数调整和包的使用,可以创建出满足各种需求的散点图。
常用绘制散点图的函数有plot()
函数和ggplot2
这个R包首先我们来了解一下plot函数的绘制。
0x01 plot()函数
1.使用 plot()
函数绘制基本散点图。
x <- c(1, 2, 3, 4, 5)
y <- c(2, 4, 6, 8, 10)
plot(x, y)
2.可以添加标题、坐标轴标签、点的形状、点的大小、颜色等。
plot(x, y, main = "Scatter Plot", xlab = "X Axis", ylab = "Y Axis")
主要参数:
type:指定图形的类型。
main:设置标题
sub:设置副标题
xlab、ylab:设置x、y轴标题
col:设置图形的颜色
cex:设置点的大小
pch:设置点的形状
lwd:设置点边框/线的宽度
xlim、ylim:设置坐标轴区间的范围
legend():在图形中添加图例。
points():在原有图形上添加点
type常见的取值有:
“p”:点(默认值)。
“l”:线。
“b”:同时有点和线。
“o”:点覆盖在线上。
“h”:直方图式的垂直线。
“s”:阶梯图。
“n”:不绘制任何图形,但设置坐标轴范围,通常用于后续添加图形。
0x02 使用 ggplot2包
1.首先加载 ggplot2
包。
library(ggplot2)
2使用 ggplot()
函数创建绘图对象,然后添加 geom_point()
层来绘制散点图。
# 创建示例数据
data <- data.frame(x = c(1, 2, 3, 4, 5),y = c(5, 4, 3, 2, 1),category = c("A", "B", "A", "B", "A")
)# 使用 ggplot2 绘制散点图
ggplot(data, aes(x = x, y = y, color = category)) +geom_point() +labs(title = "Scatter Plot with ggplot2", x = "X Axis", y = "Y Axis")
ggplot2
包提供了更强大的自定义功能,可以调整点的颜色、大小、形状等属性,以及添加拟合线、平滑曲线等。
一、基本图形参数
1.data
:指定用于绘图的数据框。
2.mapping
:通常通过aes()
函数指定,用于将数据变量映射到图形的美学属性上,如aes(x = var1, y = var2, color = var3)
。
3.geom
:指定几何对象,如geom_point()
表示绘制散点图,geom_line()
表示绘制线图等。
二、图形外观参数
1.color
:设置图形元素的颜色,如线条颜色、点的颜色等。可以是单一颜色名称(如 “red”)或根据数据变量动态分配颜色。
2.fill
:用于填充图形元素的内部颜色,如柱状图的柱子填充颜色。
3.size
:设置点的大小、线条的粗细等。
4.alpha
:设置图形元素的透明度,取值范围从 0(完全透明)到 1(完全不透明)。
5.shape
:设置指定图形中点的形状。
6.scale_*
:用于控制图形的各种属性的标度,如scale_color_*
:用于控制颜色的标度,scale_color_manual()
允许你手动指定颜色映射,scale_color_gradient()
用于创建连续的颜色渐变。
三、坐标轴参数
1.xlim
和ylim
:分别设置横坐标和纵坐标的范围。例如xlim = c(0, 10)
设置横坐标范围为 0 到 10。
2.xlab
和ylab
:分别设置横坐标和纵坐标的标签。
3.scale_x_*
和scale_y_*
:用于定制坐标轴的刻度、类型等。例如scale_x_log10()
将横坐标设置为对数刻度。
四、标题和标签参数
1.ggtitle
:设置图形的标题。
2.labs
:可以一次性设置多个标签,如labs(title = "My Plot", x = "X Axis Label", y = "Y Axis Label")
。
五、主题参数
1.theme
:用于定制图形的整体外观,包括背景颜色、网格线、字体等。例如theme_minimal()
使用简约主题。
2.theme_void
:去除所有的背景元素和坐标轴,只显示数据元素。
六、分面参数
facet_wrap
和facet_grid
:用于将图形按照一个或多个变量进行分面展示,以便更好地比较不同组的数据。例如facet_wrap(~category)
将图形按照category
变量进行分面。
这只是ggplot2的一部分参数,通过灵活组合这些参数,可以创建出各种精美的可视化图形。