原创文章,转载需授权

ggplot2怎么设置线条颜色(ggplot2画小提琴图-优雅与理性同在)(1)

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

小提琴图可以看成箱线图与核密度图的结合,同时表达了分位数和密度,又不失艺术性,在进行多类别数据分布对比的时候,是个非常好的选择,下面教大家怎么用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)

ggplot2怎么设置线条颜色(ggplot2画小提琴图-优雅与理性同在)(2)

#图形美化

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)#保存图片

ggplot2怎么设置线条颜色(ggplot2画小提琴图-优雅与理性同在)(3)

#添加扰动点

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)#保存图片

ggplot2怎么设置线条颜色(ggplot2画小提琴图-优雅与理性同在)(4)

#更换数据看看

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)#保存图片

ggplot2怎么设置线条颜色(ggplot2画小提琴图-优雅与理性同在)(5)

#极坐标下的小提琴图

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)#保存图片

ggplot2怎么设置线条颜色(ggplot2画小提琴图-优雅与理性同在)(6)

,