当前位置: 首页 > 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中创建从简单到复杂的各种数据可视化图表,满足不同的分析和展示需求。

http://www.xdnf.cn/news/522505.html

相关文章:

  • Elasticsearch 深入分析三种分页查询【Elasticsearch 深度分页】
  • 力扣面试150题--从前序与中序遍历序列构造二叉树
  • Windows 下 Nginx 安装与配置指南 [特殊字符]
  • Axure难点解决分享:垂直菜单展开与收回(4大核心问题与专家级解决方案)
  • LeetCode 35 搜索插入位置题解
  • Axure设计数字乡村可视化大屏:构建乡村数据全景图
  • 【滑动窗口】LeetCode 1004题解 | 最大连续1的个数 Ⅲ
  • 小程序弹出层/抽屉封装 (抖音小程序)
  • CSS- 4.6 radiu、shadow、animation动画
  • CVE-2015-4553 Dedecms远程写文件
  • prisma连接非关系型数据库mongodb并简单使用
  • 【QT】类A和类B共用类C
  • 分布式数据库TiDB:深度解析原理、优化与架构设计
  • 永磁同步电机高性能控制算法(22)——基于神经网络的转矩脉动抑制算法为什么低速时的转速波动大?
  • 批量剪辑 + 矩阵分发 + 数字人分身源码搭建全技术解析,支持OEM
  • 【NLP】37. NLP中的众包
  • VR 互动实训与展示,借科技开启沉浸式体验新篇​
  • 【内测征集】LarkVR 播控系统上新:VR 应用一站式专业播控与管理工具
  • 基于CATIA参数化圆锥建模的自动化插件开发实践——NX建模之圆锥体命令的参考与移植(一)
  • Python函数——万字详解
  • Windows 安装显卡驱动
  • Linux云计算训练营笔记day11(Linux CentOS7)
  • esp32课设记录(五)整个项目开源github
  • 用Python将 PDF 中的表格提取为 Excel/CSV
  • 腾讯云安装halo博客
  • 游戏引擎学习第294天:增加手套
  • LeetCode 217.存在重复元素
  • 大语言模型训练数据格式:Alpaca 和 ShareGPT
  • 将视频中的音乐传到qq音乐上听
  • DS新论文解读(2)