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

R语言数据可视化

R note book 文档–输出html格式文档,plotly不能生成PDF文件

---
title: "R语言数据可视化"
output: html_notebook
---

在R语言中进行数据可视化是数据分析和呈现的重要环节,R提供了多种强大的绘图系统和工具。以下是常见的数据可视化方法和示例,从基础到高级逐步介绍:

1. 基础绘图系统(Base R Graphics)

R内置的基础绘图函数,适合快速生成简单图表。

散点图
# 示例数据
x <- 1:10
y <- x^2# 绘制散点图
plot(x, y, main = "散点图示例",  # 标题xlab = "X轴", ylab = "Y轴",  # 坐标轴标签pch = 16,  # 点的形状col = "blue",  # 点的颜色cex = 1.5)  # 点的大小
折线图
# 生成数据
time <- seq(1, 10, by = 0.5)
values <- sin(time)# 绘制折线图
plot(time, values, type = "l",  # type="l"表示折线图main = "正弦曲线",xlab = "时间", ylab = "值",col = "red", lwd = 2)  # 线宽为2
箱线图
# 使用内置数据集mtcars
data(mtcars)# 按气缸数(cyl)分组绘制mpg的箱线图
boxplot(mpg ~ cyl, data = mtcars,main = "不同气缸数车辆的MPG分布",xlab = "气缸数", ylab = "每加仑英里数(MPG)",col = c("lightblue", "lightgreen", "lightpink"))

2. ggplot2包(推荐)

基于图形语法的高级绘图系统,适合创建复杂、精美的图表。

安装与加载
#install.packages("ggplot2")  # 首次使用需安装
library(ggplot2)
散点图
# 使用内置数据集iris
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +geom_point(size = 3) +  # 散点图层labs(title = "鸢尾花萼片长度与宽度关系",x = "萼片长度(cm)", y = "萼片宽度(cm)") +theme_minimal()  # 使用简洁主题
柱状图
# 统计不同Species的数量
ggplot(iris, aes(x = Species)) +geom_bar(fill = "skyblue", color = "black") +  # 柱状图层labs(title = "鸢尾花种类分布", x = "种类", y = "数量") +theme_classic()  # 使用经典主题
箱线图与小提琴图
ggplot(iris, aes(x = Species, y = Petal.Length, fill = Species)) +geom_boxplot(alpha = 0.7) +  # 箱线图层geom_violin(alpha = 0.3) +   # 小提琴图层(显示密度分布)labs(title = "不同种类鸢尾花花瓣长度分布",x = "种类", y = "花瓣长度(cm)")

3. 高级可视化

热图(Heatmap)
# 使用内置数据集mtcars
cor_matrix <- cor(mtcars)  # 计算相关系数矩阵# 绘制热图
heatmap(cor_matrix, main = "汽车特征相关性热图",col = cm.colors(256),  # 颜色渐变scale = "column")  # 按列标准化
直方图与密度图
# 使用ggplot2绘制直方图与密度图
ggplot(iris, aes(x = Sepal.Length)) +geom_histogram(aes(y = ..density..),  # 直方图(显示密度)bins = 15, fill = "lightblue", color = "black") +geom_density(alpha = 0.2, fill = "blue") +  # 密度曲线facet_wrap(~ Species) +  # 按种类分面labs(title = "鸢尾花萼片长度分布", x = "萼片长度(cm)", y = "密度")
气泡图(散点图+大小/颜色映射)
# 使用ggplot2绘制气泡图
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +geom_point(aes(size = Petal.Length, color = Species), alpha = 0.7) +  # alpha设置透明度scale_size_continuous(range = c(2, 10)) +  # 控制点大小范围labs(title = "鸢尾花特征气泡图",x = "萼片长度(cm)", y = "萼片宽度(cm)",size = "花瓣长度", color = "种类") +theme_bw()  # 使用黑白主题

4. 交互式可视化(plotly)

创建可交互的图表,适合网页展示或数据分析。

安装与基本用法
#install.packages("plotly")
library(plotly)# 将ggplot2图表转为交互式
p <- ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +geom_point(size = 3)ggplotly(p)  # 转为交互式图表
3D散点图
# 创建3D散点图
plot_ly(iris, x = ~Sepal.Length, y = ~Sepal.Width, z = ~Petal.Length,color = ~Species, type = "scatter3d", mode = "markers") %>%layout(title = "鸢尾花3D特征散点图")

5. 数据可视化注意事项

  1. 选择合适的图表类型:根据数据类型和分析目的选择(如比较用柱状图,分布用箱线图,关系用散点图)。
  2. 保持简洁:避免过多装饰元素,确保数据是焦点。
  3. 使用适当的颜色:避免使用过于鲜艳或难以区分的颜色,考虑色盲用户。
  4. 添加必要标签:确保图表标题、坐标轴标签、图例清晰。
  5. 优化布局:合理安排图表大小、比例和间距。

6. 资源推荐

  • ggplot2官方文档
  • R Graphics Cookbook
  • Plotly for R

通过以上方法,你可以在R中创建从简单到复杂的各种数据可视化图表,满足不同的分析和展示需求。

相关文章:

  • 使用Python将 Excel 中的图表、形状和其他元素导出为图片
  • 软件设计师“开发过程模型:瀑布、增量、原型、螺旋、喷泉、基于构件的开发模型、形式化方法模型、统一过程RUP、敏捷、极限”真题考点分析——求三连
  • 嵌入式(C语言篇)Day12
  • Blender cycles烘焙贴图笔记
  • 【three】给立方体的每个面加载不同贴图
  • 【解决】自己的域名任何端口都访问不到,公网地址正常访问,服务器报错500。
  • LeetCode 219.存在重复元素 II
  • QT的事件处理
  • 信息学奥赛一本通 1539:简单题 | 洛谷 P5057 [CQOI2006] 简单题
  • 基于单片机辣椒采摘小车系统设计与实现
  • 嵌入式学习笔记DAY23(树,哈希表)
  • Django之验证码功能
  • HTTPS核心机制拆解
  • [服务器备份教程] Rclone实战:自动备份数据到阿里云OSS/腾讯云COS等对象存储
  • 《Java高并发编程核心:volatile关键字全解析》
  • upload靶场1-5关
  • 微服务项目->在线oj系统(Java版 - 4)
  • Qt开发:QUdpSocket的详解
  • CLIP:论文阅读 -- 视觉模型
  • 遨游科普:三防平板是什么?有什么作用?
  • 钱进已任外交部新闻司副司长
  • 台陆委会将欧阳娜娜等20多名艺人列入重要查核对象,国台办回应
  • 上海银行副行长汪明履新上海农商银行党委副书记
  • 中国旅游日|上天当个“显眼包”!低空经济的“飞”凡魅力
  • 去年上海全市博物馆接待观众约4087万人次,同比增31.9%
  • 打造信息消费新场景、新体验,上海信息消费节开幕