首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ggplot2画小提琴图-优雅与理性同在

给大家介绍一个比较有意思的图—小提琴图。为什么叫小提琴图呢?因为图形酷似小提琴。小提琴图并不常见,但在恰当的时候使用一下,会大大增加可视化效果,可以说是艺术与理性的完美结合

小提琴图可以看成箱线图与核密度图的结合,同时表达了分位数和密度,又不失艺术性,在进行多类别数据分布对比的时候,是个非常好的选择,下面教大家怎么用ggplot2画小提琴图,当然,R语言中还有一个包vioplot可以画,大家自行研究,比较简单。

面开始画图:

#设置工作空间

setwd("C:/Users/wuzhengxiang/Desktop/R语言可视化/小提琴图")

#安装与加载包

install.packages('ggplot2')

library(ggplot2)

#抽样部分数据

dsmall = diamonds[sample(nrow(diamonds),5000),]

#直接画图

ggplot(dsmall,aes(x=clarity,y=table,fill=clarity))+geom_violin(alpha=0.8,width=1)

#图形美化

ggplot(dsmall,aes(x=clarity,y=table,fill=clarity))+

geom_violin(alpha=0.9999,width=1)+

theme_bw()+

theme(panel.background = element_rect(fill = "black"))+

theme(legend.position = 'none')+# 去掉图例

theme(panel.border = element_blank())+# 去掉外层边框

theme(panel.background = element_rect(fill = "gray91"))+ #灰色背景

theme(panel.grid=element_blank())+

scale_fill_discrete(c=100, l=100)

ggsave('violin-02.png',dpi = 1080)#保存图片

#添加扰动点

ggplot(dsmall,aes(x=clarity,y=table,fill=clarity))+

geom_violin(alpha=0.9999,width=1)+

theme_bw()+

geom_jitter(colour='white')+

theme(panel.background = element_rect(fill = "black"))+

theme(legend.position = 'none')+# 去掉图例

theme(panel.border = element_blank())+# 去掉外层边框

theme(panel.background = element_rect(fill = "black"))+ #黑色背景

theme(panel.grid=element_blank())+

scale_fill_discrete(c=100, l=100)

ggsave('violin-03.png',dpi = 1080)#保存图片

#更换数据看看

ggplot(dsmall,aes(x=clarity,y=price,fill=clarity))+

geom_violin(alpha=0.95,width=1)+

geom_jitter(alpha=0.5)+

theme_bw()+

theme(panel.background = element_rect(fill = "black"))+

theme(legend.position = 'none')+# 去掉图例

theme(panel.border = element_blank())+# 去掉外层边框

theme(panel.background = element_rect(fill = "gray91"))+ #灰色背景

theme(panel.grid=element_blank())+

scale_fill_discrete(c=100, l=100)

ggsave('violin-04.png',dpi = 1080)#保存图片

#极坐标下的小提琴图

ggplot(dsmall,aes(x=clarity,y=table,fill=clarity))+

geom_violin(alpha=0.95,width=1)+

theme_bw()+

coord_polar()+

theme(legend.position = 'none')+

scale_fill_discrete(c=100, l=100)

ggsave('violin-05.png',dpi = 1080)#保存图片

Python或R学习

ID:Python_R_wu

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180704G1T8B400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券