使用R基础绘图系统进行绘图

💡 原文英文,约2600词,阅读约需10分钟。
📝

内容提要

本文介绍R基础绘图系统,涵盖高层与低层函数,重点讲解plot()散点图、hist()直方图与密度曲线、barplot()条形图、pie()饼图、boxplot()箱线图与小提琴图、dotchart()克利夫兰点图,并说明通过pdf()、tiff()等函数导出图形的方法。

🔎

延伸解读

高层与低层函数的分工

R基础绘图系统将函数分为高层和低层两类。高层函数如plot()、hist()、boxplot()直接生成新图形;低层函数如points()、lines()、legend()则用于在已有图形上添加元素。这种分工让绘图像搭积木一样灵活:先用高层函数画出主体,再用低层函数逐步修饰,适合需要精细控制图形细节的场景。

直方图与密度曲线的配合要点

直方图受组距影响较大,需尝试不同breaks值。若要在直方图上叠加密度曲线,必须将hist()的freq参数设为FALSE,使纵轴为频率而非频数,否则密度曲线几乎不可见。此外,可用lines()添加密度线,用rug()添加轴须图展示数据分布趋势。

图形导出的两种方式与格式选择

导出图形可通过RStudio界面或代码。界面导出受窗口大小影响,不同尺寸会得到不同图形。推荐用代码方式:在pdf()、tiff()等设备函数和dev.off()之间放置绘图语句。格式选择上,bmp、png、jpeg为非矢量格式,易受分辨率影响但体积小,适合Word和PPT;ps为矢量格式,适合排版印刷;tiff支持多种色彩系统且跨平台,广泛用于出版物。

饼图的局限与替代方案

多数统计学家不推荐饼图,因为人眼判断长度比判断面积更准确,建议改用条形图或点图。基础包中pie()函数选项有限,但plotrix包提供了pie3D()和fan.plot()等扩展功能,可绘制三维饼图和扇形图,适合需要特殊展示效果的读者。

❓

Q&A

R基础绘图系统包含哪些主要包?

R基础绘图系统主要由graphics和grDevices包组成,这两个包在R启动时会自动加载。

R基础绘图系统中的高层函数和低层函数有什么区别?

高层函数用于直接生成图形,如plot()、hist()、boxplot()、pairs()等;低层函数用于在已有图形上添加新元素,如points()、lines()、text()、title()、legend()、axis()等。

如何使用plot()函数绘制散点图并添加图例?

使用plot()函数绘制散点图,例如plot(dose, drugA)。要添加图例,可以使用legend()函数,如legend("topleft", title="Drug Type", legend=c("A","B"), lty=c(1,2), pch=c(15,17))。

如何绘制直方图并叠加密度曲线?

使用hist()函数绘制直方图,设置freq=FALSE以显示频率密度,然后使用lines(density(x))叠加密度曲线。例如:hist(Prewt, freq=FALSE, col="red"),lines(density(Prewt), col="blue", lwd=2)。

如何导出R图形为PDF或TIFF文件?

可以使用pdf()或tiff()等函数打开图形设备,绘制图形后调用dev.off()关闭设备。例如:pdf("mygraph.pdf"),boxplot(...),dev.off();或tiff(filename="mygraph.tiff", width=15, height=12, units="cm", res=300),boxplot(...),dev.off()。

箱线图和小提琴图分别用什么函数绘制?

箱线图使用boxplot()函数绘制,小提琴图使用vioplot包中的vioplot()函数绘制。

🏷️

标签

➡️

继续阅读