当前位置: 首页 > news >正文

利用R语言绘制散点图

绘制散点图

本文利用R语言内置数据集mtcars绘制不同类型的散点图,并提供了详细的代码。这些可视化结果帮助我们直观理解汽车各项性能指标之间的关系,为汽车设计和选购提供数据支持。

欢迎大家在评论区留言或私信,交流学习心得或学习R的过程中遇到的问题。感谢大家的支持和关注,您的支持是我创作的最大动力。

目录

    • 绘制散点图
  • 1.mtcars数据集介绍
  • 2.绘制重量与油耗的散点图
  • 3.按气缸数分组绘制散点图
  • 4.多变量散点图矩阵
  • 5.三维散点图
  • 6.带数据标签的散点图
  • 7.多图组合展示

1.mtcars数据集介绍

mtcars(Motor Trend Car Road Tests)是R语言中最经典的内置数据集之一,包含了32辆汽车在1974年左右的性能测试数据。这个数据集源自1974年的《Motor Trend》杂志,常用于统计教学和数据分析演示。
mtcars数据集包含11个数值变量:

主要性能指标:
mpg: Miles/(US) gallon - 油耗(英里/加仑)
cyl: Number of cylinders - 气缸数
disp: Displacement (cu.in.) - 排量(立方英寸)
hp: Gross horsepower - 马力

传动系统:
drat: Rear axle ratio - 后轴比率
wt: Weight (1000 lbs) - 重量(千磅)
qsec: 1/4 mile time - 1/4英里加速时间

发动机和变速箱:
vs: Engine (0 = V-shaped, 1 = straight) - 发动机类型
am: Transmission (0 = automatic, 1 = manual) - 变速箱类型
gear: Number of forward gears - 前进档位数
carb: Number of carburetors - 化油器数量

#加载并查看数据
data("mtcars")
head(mtcars)

返回结果如下:
在这里插入图片描述

2.绘制重量与油耗的散点图

# 设置图形参数
par(mar = c(5, 5, 4, 2) + 0.1)  # 调整边距# 基本散点图
plot(mtcars$wt, mtcars$mpg,main = "汽车重量与油耗关系",xlab = "重量 (千磅)",ylab = "油耗 (英里/加仑)",pch = 16,           # 实心圆点col = "blue",       # 点的颜色cex = 1.2,          # 点的大小cex.main = 1.5,     # 标题大小cex.lab = 1.2,      # 坐标轴标签大小font.main = 2,      # 粗体标题grid()              # 添加网格线
)# 添加回归线
abline(lm(mpg ~ wt, data = mtcars), col = "red", lwd = 2, lty = 1)# 添加图例
legend("topright", legend = "线性回归线",col = "red",lwd = 2,lty = 1,bty = "n")

出图效果如下:
在这里插入图片描述

3.按气缸数分组绘制散点图

# 按气缸数设置颜色和形状
cyl_colors <- c("red", "green3", "blue")[as.factor(mtcars$cyl)]
cyl_shapes <- c(16, 17, 18)[as.factor(mtcars$cyl)]  # 圆形、三角形、菱形# 创建分组散点图
plot(mtcars$wt, mtcars$mpg,main = "汽车重量与油耗关系(按气缸数分组)",xlab = "重量 (千磅)",ylab = "油耗 (英里/加仑)",pch = cyl_shapes,col = cyl_colors,cex = 1.3,bg = "lightgray",   # 背景色cex.main = 1.4,cex.lab = 1.1
)# 添加网格线
grid(col = "yellow", lty = 1)# 添加图例
legend("topright",legend = paste(levels(as.factor(mtcars$cyl)), "缸"),title = "气缸数",pch = c(16, 17, 18),col = c("red", "green3", "blue"),pt.cex = 1.3,bg = "white",box.col = "gray")

出图效果如下:
在这里插入图片描述

4.多变量散点图矩阵

# 选择四个关键变量创建散点图矩阵
selected_vars <- mtcars[, c("mpg", "wt", "hp", "qsec")]pairs(selected_vars,main = "汽车性能特征散点图矩阵",pch = 16,col = cyl_colors,gap = 0.5,         # 图形间距cex.labels = 1.2,  # 对角线标签大小cex = 0.8          # 点的大小
)

出图效果如下:
在这里插入图片描述

5.三维散点图

使用颜色和大小表示第三个变量

# 使用点的大小表示排量大小
disp_size <- (mtcars$disp - min(mtcars$disp)) / (max(mtcars$disp) - min(mtcars$disp)) * 2 + 0.5plot(mtcars$wt, mtcars$mpg,main = "重量、油耗与排量关系\n(点大小表示排量)",xlab = "重量 (千磅)",ylab = "油耗 (英里/加仑)",pch = 21,bg = heat.colors(32)[rank(mtcars$disp)],  # 热力图颜色表示排量col = "black",cex = disp_size,     # 点大小表示排量cex.main = 1.3,lwd = 0.5
)# 添加图例说明排量范围
legend("topright",legend = c("小排量", "中排量", "大排量"),pch = 21,pt.cex = c(0.8, 1.5, 2.2),pt.bg = "orange",col = "black",title = "排量大小")

出图效果如下:
在这里插入图片描述

6.带数据标签的散点图

# 创建基本散点图
plot(mtcars$wt, mtcars$mpg,main = "汽车重量与油耗关系(带车型标签)",xlab = "重量 (千磅)",ylab = "油耗 (英里/加仑)",pch = 16,col = "darkblue",cex = 1.1
)# 添加车型标签(只显示部分有代表性的车型)
selected_cars <- c("Mazda RX4", "Datsun 710", "Hornet Sportabout", "Ferrari Dino", "Toyota Corolla", "Lincoln Continental")for (car in selected_cars) {if (car %in% rownames(mtcars)) {x_pos <- mtcars[car, "wt"]y_pos <- mtcars[car, "mpg"]text(x_pos, y_pos, labels = car, pos = 3,        # 文字在点的上方cex = 0.7,      # 文字大小col = "darkred")}
}# 添加参考线
abline(h = mean(mtcars$mpg), lty = 2, col = "gray")  # 平均油耗线
abline(v = mean(mtcars$wt), lty = 2, col = "gray")   # 平均重量线

出图效果如下:
在这里插入图片描述

7.多图组合展示

# 设置2x2的图形布局
par(mfrow = c(2, 2), mar = c(4, 4, 3, 2))# 图1:重量 vs 油耗(按气缸数)
plot(mtcars$wt, mtcars$mpg, col = cyl_colors, pch = 16,main = "重量 vs 油耗", xlab = "重量", ylab = "油耗")# 图2:马力 vs 油耗(按变速箱类型)
plot(mtcars$hp, mtcars$mpg, col = am_colors, pch = am_shapes,main = "马力 vs 油耗", xlab = "马力", ylab = "油耗")# 图3:排量 vs 油耗
plot(mtcars$disp, mtcars$mpg, pch = 15, col = "darkgreen",main = "排量 vs 油耗", xlab = "排量", ylab = "油耗")# 图4:加速时间 vs 油耗
plot(mtcars$qsec, mtcars$mpg, pch = 17, col = "darkred",main = "加速时间 vs 油耗", xlab = "1/4英里时间", ylab = "油耗")# 恢复单图布局
par(mfrow = c(1, 1))

出图效果如下:
在这里插入图片描述

大家在使用的时候遇到任何问题欢迎留言,您的支持是我创作的最大动力。

http://www.dtcms.com/a/462000.html

相关文章:

  • 宁波北仑做网站团购网站怎么做
  • 【SQLite 库】sqlite3_open_v2
  • 无人机巡检光伏电站红外异常检测研究辅导+落地
  • 网站开发完成如何上线jquery效果网站
  • react+andDesign+vite+ts从零搭建后台管理系统(二)-reactRouter
  • @uiw/react-md-editor渲染的markdown如何跳转至指定地方?我来助你
  • Reactor模型和类图设计
  • 包头网站建设易通null wordpress theme
  • 项目外包公司可以去吗九江市seo
  • 专题四:前缀和~
  • C++八股 —— 线程本地存储技术
  • 位运算题5:出现k次与出现1次
  • 我们为什么需要Agent?
  • MLMs之Sora:Sora 2(开启真实物理与创意融合的新一代视频生成平台)的简介、安装和使用方法、案例应用之详细攻略
  • (1)100天python从入门到拿捏
  • 昆明网站定制制作logo网站
  • 个人做哪方面的网站网站续费怎么做
  • Differential evolution with collective ensemble learning
  • 东莞网站推广策划wordpress怎么改标题和meta
  • jquery mvvm框架
  • 做外贸的几个网站如何添加网站白名单
  • 统一 IT 服务台平台:让企业服务运转更高效
  • 在线做c语言题目的网站免费自助在线公司起名
  • 70行代码展现我的“毕生”编程能力
  • C++ List
  • 从指令到智能:大型语言模型提示词工程与上下文工程的综合分析
  • wordpress清理过期文件夹电商seo
  • html网站尺寸成立公司需要哪些资料
  • 物联网边缘节点中的MEMS传感器低功耗设计实战
  • 当工业生产遇上RFID:智能追溯让制造全流程“透明可见”