利用R绘制小提琴图

小提琴图

小提琴图是一种用于显示数值数据分布的图表类型。它的形状类似于小提琴,因此得名。与箱线图只能显示有限的统计量(中位数、四分位数等)不同,小提琴图能够展示数据的完整概率密度分布。本文结合R内置数据diamonds,利用ggplot2实现绘图。

注意: 小提琴图是数据可视化中一种非常强大的工具,它结合了箱线图和密度图的优点,能够提供比传统箱线图更丰富的数据分布信息。

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

目录

1.diamonds数据集介绍

diamonds 数据集是 R 语言中 ggplot2 包内置的一个经典数据集,包含了 53,940 颗钻石的物理属性和价格信息。这个数据集经常被用于数据可视化教学、统计分析和机器学习演示。

go 复制代码
# 加载数据集
library(ggplot2)
data(diamonds)
# 查看基本信息
str(diamonds)
# 输出:tibble [53,940 × 10] (S3: tbl_df/tbl/data.frame)
# 查看前几行
head(diamonds)

数据集包含 10 个变量,53,940 个观测值。主要变量解释如下:

变量 解释
price 钻石价格(美元)
carat 克拉重量(1克拉 = 0.2克)
cut 切工质量
color 颜色等级
clarity 净度等级

2.绘制小提琴图

代码如下:

go 复制代码
library(ggplot2)
# 示例1:精美的箱线图+小提琴图+抖动点
p1 <- ggplot(diamonds, aes(x = cut, y = price, fill = cut)) +
  # 1. 小提琴图,显示分布密度,alpha设置透明度
  geom_violin(alpha = 0.7, width = 0.8) +
  # 2. 箱线图,用白色突出显示关键统计量
  geom_boxplot(width = 0.2, alpha = 0.7, color = "grey30", outlier.shape = NA) +
  # 3. 抖动点,避免点重叠,增加数据感
  geom_jitter(shape = 16, size = 0.8, alpha = 0.1, width = 0.2) +
  # 4. 使用经典的Viridis色盲友好配色
  scale_fill_viridis_d(option = "plasma") +
  # 5. 设置标签和标题
  labs(
    title = "钻石价格按切工等级的分布",
    subtitle = "结合了小提琴图、箱线图和原始数据点",
    x = "切工等级",
    y = "价格 (美元)",
    caption = "数据源:R datasets::diamonds"
  ) +
  # 6. 使用 minimalist 主题,使图形更简洁
  theme_minimal() +
  # 7. 微调主题,例如标题居中、调整图例位置
  theme(
    plot.title = element_text(face = "bold", hjust = 0.5),
    plot.subtitle = element_text(hjust = 0.5),
    legend.position = "none" # 移除图例,因为x轴已经标明了类别
  )

# 显示图形
print(p1)

出图效果如下:

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

相关推荐
织元Zmetaboard1 天前
大屏里的柱状图趋势出现“断崖式下跌”?排查日期连续性与LEFT JOIN补零
信息可视化
babe小鑫2 天前
精算学专业秋招:Excel、SQL、R和Python应该先练什么
sql·r语言·excel
IT毕设梦工厂2 天前
计算机毕业设计选题推荐:基于大数据的印度上市公司财务指标数据可视化分析|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·python·信息可视化·spark·课程设计·大数据毕设项目
龙亘川2 天前
科技决策分析报表平台:科技服务・项目・成果转化・政策四维报表全链路业务建模
大数据·科技·ai·信息可视化·智慧城市
绎奇PPT3 天前
绎奇PPT分享:科研项目申请书全方位美化规范与实操指南
信息可视化·powerpoint·ppt
海盗12343 天前
微软技术日报 2026-09-10:Project Zenith 开发者设备亮相,.NET 11 RC1 可投产
microsoft·r语言·.net
sibylyue3 天前
【报表和BI大屏】ECharts数据可视化大屏 / 驾驶舱
前端·信息可视化·echarts
BYSJMG3 天前
计算机毕业设计选题推荐:基于大数据的水质多指标关联分析与可视化的设计与实现,Spark 加 K-Means 做水质分群
大数据·hadoop·信息可视化·数据分析·spark·kmeans·课程设计
龙亘川3 天前
数字化建设案例|构建议案履职一体化闭环,解决议案建议办理多主体协同难题
大数据·人工智能·科技·信息可视化·智慧城市
suliqiang3 天前
【前端技术】 Web 前端技术36年 演进全景图
信息可视化·微信小程序·小程序·前端框架·uni-app·人机交互·xcode