审稿人:才发现这么多人用Excel做散点图?

文摘   2024-10-22 09:00   英国  
在数据分析和科研工作中,散点图(Scatter Plot)是一种强大的工具,能够帮助我们直观地探索和展示两个连续变量之间的关系。通过散点图,研究人员可以识别数据中的趋势、关联性以及异常点,使得它成为数据分析过程中不可或缺的图形类型。
很多人喜欢使用Excel做散点图,因为方便且简单,但大家是否考虑过分辨率的问题以及图片的整体风格。在这篇文章中,我们将从散点图的基础开始,逐步展示如何使用R语言创建和个性化一个散点图,包括颜色、点的大小、分组、标题和图例等方面的调整。

散点图的定义与应用场景

散点图是一种用于展示两个连续变量之间关系的图形。每个数据点在图中的位置由其两个变量的数值决定,通常横轴表示自变量,纵轴表示因变量。通过散点图可以直观地观察数据的分布模式、趋势或异常点,从而揭示变量之间的关联性。比如,散点图常用于分析两个变量是否具有线性关系、正相关或负相关的趋势,也可以帮助识别数据中的噪声或离群值。

散点图的适用范围广泛,尤其在科研和数据分析中十分常见。例如,在经济学中可以用散点图分析收入和消费之间的关系;在生物医学中,可以用散点图研究药物剂量与疗效的关系;在环境科学中,常用于分析气温和降水量等变量间的联系。通过合理地使用散点图,研究人员能够对数据进行直观探索和初步分析。

分步教程:如何创建个性化散点图

接下来,我们将使用R语言,逐步演示如何从一个简单的散点图开始,逐步实现个性化设置。假设我们使用的是R内置的 mtcars 数据集,这个数据集包含汽车的马力 (hp) 和燃油效率(英里每加仑 mpg)等变量。

步骤 1:创建基本散点图

首先,我们从最基础的散点图开始,用R的 plot() 函数绘制出马力与燃油效率的关系。

# 使用基础plot()函数绘制基本散点图
plot(mtcars$hp, mtcars$mpg,
xlab = "马力 (hp)",
ylab = "燃油效率 (mpg)",
main = "马力与燃油效率的关系")

这段代码将会生成一个简单的散点图,横轴是马力,纵轴是燃油效率。通过这个图,我们可以初步观察这两个变量之间是否存在某种趋势。


步骤 2:调整颜色和点的大小

为了让图表更具视觉效果,我们可以调整点的颜色和大小。通过 col 参数设置颜色,cex 参数放大点的尺寸。

# 自定义颜色和点的大小
plot(mtcars$hp, mtcars$mpg,
xlab = "马力 (hp)",
ylab = "燃油效率 (mpg)",
main = "马力与燃油效率的关系",
col = "blue", # 设置颜色为蓝色
pch = 19, # 设置点的形状
cex = 1.5) # 放大点的大小

通过这种简单的调整,图表的可读性得到了提升,蓝色的点和放大的大小能够更清晰地展示数据的分布情况。


步骤 3:根据分组设置不同颜色

接下来,假设我们想按汽车的变速箱类型(手动或自动)进行分组。我们可以为不同的组设置不同的颜色,例如使用红色代表自动变速箱,绿色代表手动变速箱。

# 根据变速箱类型分组设置不同颜色
colors <- ifelse(mtcars$am == 0, "red", "green")
plot(mtcars$hp, mtcars$mpg,
xlab = "马力 (hp)",
ylab = "燃油效率 (mpg)",
main = "马力与燃油效率的关系(按变速箱类型分组)",
col = colors, # 按变速箱类型设置颜色
pch = 19, # 设置点的形状
cex = 1.5)

# 添加图例
legend("topright", legend = c("自动变速箱", "手动变速箱"),
col = c("red", "green"), pch = 19)

这个图表更进一步,清晰地区分了不同变速箱类型的汽车,使得图表传递的信息更加丰富。


步骤 4:使用 ggplot2 创建更复杂的散点图

ggplot2 是R中的一个强大数据可视化包,它可以更加灵活地对图表进行定制。接下来我们使用 ggplot2 创建一个散点图,并开始添加一些个性化元素。

# 加载ggplot2
library(ggplot2)

# 使用ggplot2创建基本散点图
ggplot(mtcars, aes(x = hp, y = mpg)) +
geom_point() +
labs(title = "马力与燃油效率的关系",
x = "马力 (hp)",
y = "燃油效率 (mpg)")

通过这种方式,我们可以得到一个更加简洁美观的基础散点图。


步骤 5:根据分组设置颜色和点大小

ggplot2 提供了非常灵活的分组、颜色和点大小设置。以下代码展示了如何根据变速箱类型设置颜色,点的大小由马力决定。

# 根据变速箱类型设置颜色,点的大小由马力决定
ggplot(mtcars, aes(x = hp, y = mpg, color = factor(am), size = hp)) +
geom_point() +
labs(title = "马力与燃油效率的关系(按变速箱类型分组)",
x = "马力 (hp)",
y = "燃油效率 (mpg)",
color = "变速箱类型",
size = "马力 (hp)") +
scale_color_manual(values = c("red", "green")) +
theme_minimal()

在这个图中,我们通过颜色区分了变速箱类型,同时使用点的大小来反映不同汽车的马力大小,信息传递更加直观。


步骤 6:自定义图例、主题和标题

最后,我们通过 theme() 函数来自定义图表的主题,包括调整标题字体、图例位置等,使图表更加美观和个性化。

# 自定义图表主题和标题
ggplot(mtcars, aes(x = hp, y = mpg, color = factor(am), size = hp)) +
geom_point() +
labs(title = "马力与燃油效率的关系(个性化设置)",
x = "马力 (hp)",
y = "燃油效率 (mpg)",
color = "变速箱类型",
size = "马力 (hp)") +
scale_color_manual(values = c("red", "green")) +
theme_minimal() +
theme(
plot.title = element_text(size = 18, face = "bold", hjust = 0.5), # 设置标题字体和位置
legend.position = "bottom", # 将图例放在底部
legend.title = element_text(size = 12), # 图例标题字体
legend.text = element_text(size = 10) # 图例内容字体
)

通过这种设置,图表的整体观感更加专业,适合用于科研报告或演示中。

总结

通过以上的分步教程,我们从一个简单的散点图逐步演进,添加了颜色、点的大小、分组、图例和标题等个性化设置。尤其是 ggplot2 的使用,能够让我们在复杂的数据可视化需求中快速生成高质量图表。这种灵活性和美观性,使得散点图成为数据科学家在处理和展示数据时的常用工具。希望本篇教程能帮助你在实际项目中运用散点图,轻松地进行数据分析和展示。


(请点击标题查看)
科研代码 | 机器学习
ANOVA 描述性统计分析   主成分分析PCA 判别分析 PLSDA LDA KNN 
异常值 贝叶斯统计 调用数据集 模型评价之准确率 Scikit-learn 数据预处理 API 
无监督机器学习 SVM 监督式机器学习  特征选择 ANN SQL 数据转换  特征选择  冗余分析  数据导入   限制性立方样条时间序列分析 数据预处理  随机森林(RF)  
正态分布检测 傅里叶变换 重塑(Reshape)
科研代码 | 数据可视化
散点图  相关性热    柱状图    盒须图 小提琴图 R画地图 ggplot2 雷达 圆形柱状图 
文氏图 显著性差异 条形图 R配色 热图显著性标记 箱线图  XGBoost建模  3D散点图 
图片合并  桑葚图  坐标轴文字排序          
科研代码 | 生产力工具
Pycharm    Rstudio   Dataspell  VScode 四大数据分析软  Copilot R语言教材  基础统计学  R语言入门  SPSS Python编辑器全比较   大名鼎鼎的文献管理软件
科研代码 | 世间万物
Peer pressure  走出舒适区  小老板保命守则 缺的是数据科学家 卷王之王 开放获取   
创新性  不能“卷”的海外博士  英语不好 放弃统计显著性  
谁在用盗版软件 读博心态别崩

感谢关注!

科研代码
专注R和Python的数据分析。
 最新文章