R可视乎|复合饼图系列

简介: 散点复合饼图(compound scatter and pie chart)可以展示三个数据变量的信息:(x, y, P),其中x和y决定气泡在直角坐标系中的位置,P表示饼图的数据信息,决定饼图中各个类别的占比情况,

散点复合饼图(compound scatter and pie chart)可以展示三个数据变量的信息:(x, y, P),其中x和y决定气泡在直角坐标系中的位置,P表示饼图的数据信息,决定饼图中各个类别的占比情况,如图(a)所示。


气泡复合饼图(compound bubble and pie chart)可以展示四个数据变量的信息:(x, y, z, P),其中x 和y 决定气泡在直角坐标系中的位置,z 决定气泡的大小,P 表示饼图的数据信息,决定饼图中各个类别的占比情况,如图(b)所示。



数据介绍

这是一个和犯罪有关的数据,主要用到里面几列数据,murder、Forcible_rate、Robbery、aggravated_assult、burglary、larceny_theft、motor_vehicle_theft。

library(ggplot2)library(scatterpie)library(RColorBrewer)


crime<- read.csv("~/crimeRatesByState2005.tsv",header = TRUE, sep = "\t", stringsAsFactors = F)radius <- sqrt(crime$population / pi)Max_radius<-max(radius)Bubble_Scale<-0.1crime$radius <- Bubble_Scale * radius/Max_radius


FX4YM9$@2UD3DVQ7V)%~F(T.pngimage.gif


mydata<-crime[,c(2,4,3,5:8)]  #数据集构造Col_Mean<-apply(mydata,2,mean)Col_Sort<-sort(Col_Mean,index.return=TRUE,decreasing = TRUE)mydata<-mydata[,Col_Sort$ix]x<-(mydata$murder-min(mydata$murder))/(max(mydata$murder)-min(mydata$murder))+0.00001y<-(mydata$Robbery-min(mydata$Robbery))/(max(mydata$Robbery)-min(mydata$Robbery))+0.00001


xlabel<-seq(0,10,2)xbreak<-(xlabel-min(mydata$murder))/(max(mydata$murder)-min(mydata$murder))+0.00001ylabel<-seq(0,260,50)ybreak<-(ylabel-min(mydata$Robbery))/(max(mydata$Robbery)-min(mydata$Robbery))+0.00001mydata2<-data.frame(x,y,radius=crime$radius)mydata2<-cbind(mydata2,mydata)Legnd_label<-colnames(mydata2)[4:10]colnames(mydata2)[4:10]<-LETTERS[1:7]


散点复合饼图系列(a)


ggplot() +   geom_scatterpie(aes(x=x, y=y,r=0.05), data=mydata2, cols=colnames(mydata2)[4:10],alpha=0.9,size=0.1) +  scale_fill_manual(values=colorRampPalette(brewer.pal(7, "Set2"))(7),labels=Legnd_label)+  #geom_scatterpie_legend(mydata2$radius, x=0.1, y=0.95, n=5,labeller=function(x) round((x* Max_radius/ Bubble_Scale)^2*pi))+  #geom_scatterpie_legend(mydata2$radius, x=0.009758116, y=0.090868067, n=4,labeller=function(x) round((x* Max_radius/ Bubble_Scale)^2*pi))+  scale_x_continuous(breaks=xbreak, labels=xlabel)+  scale_y_continuous(breaks=ybreak, labels=ylabel)+  xlab("murder")+  ylab("Robbery")+  coord_fixed()+  theme(    axis.title=element_text(size=15,face="plain",color="black"),    axis.text = element_text(size=13,face="plain",color="black"),    legend.title=element_text(size=15,face="plain",color="black"),    legend.text = element_text(size=14,face="plain",color="black"))


TZ70ST{R4I({1$D{$](XZ24.png


散点复合饼图系列(b)

ggplot() +   geom_scatterpie(aes(x=x, y=y,r=radius), data=mydata2, cols=colnames(mydata2)[4:10],alpha=0.9,size=0.25) +  scale_fill_manual(values=colorRampPalette(brewer.pal(7, "Set2"))(7),labels=Legnd_label)+  geom_scatterpie_legend(mydata2$radius, x=0.1, y=0.95, n=5,                         labeller=function(x) round((x* Max_radius/ Bubble_Scale)^2*pi))+  #geom_scatterpie_legend(mydata2$radius, x=0.009758116, y=0.090868067, n=4,labeller=function(x) round((x* Max_radius/ Bubble_Scale)^2*pi))+  scale_x_continuous(breaks=xbreak, labels=xlabel)+  scale_y_continuous(breaks=ybreak, labels=ylabel)+  xlab("murder")+  ylab("Robbery")+  coord_fixed()+  theme(    axis.title=element_text(size=15,face="plain",color="black"),    axis.text = element_text(size=13,face="plain",color="black"),    legend.title=element_text(size=15,face="plain",color="black"),    legend.text = element_text(size=14,face="plain",color="black")  )



W$87XD_)MAA~H$KNL7]03O7.png


目录
相关文章
|
7月前
|
数据可视化
R可视乎|三维散点图
R可视乎|三维散点图
118 0
|
数据挖掘
这图怎么画| 多组箱线图+组间/内差异分析
这图怎么画| 多组箱线图+组间/内差异分析
245 0
|
数据挖掘
这图怎么画| 批量小提琴图+箱线图+散点+差异分析
这图怎么画| 批量小提琴图+箱线图+散点+差异分析
339 0
|
数据可视化
R 可视乎 | 华夫饼图
R 可视乎 | 华夫饼图
148 0
Excel实现双Y轴折线图(四条折线中有两个主轴两个副轴)
Excel实现双Y轴折线图(四条折线中有两个主轴两个副轴)
Excel实现双Y轴折线图(四条折线中有两个主轴两个副轴)
PIE-engine 教程 ——矢量集合的循环计算使用for循环(中国各省市面积统计)
PIE-engine 教程 ——矢量集合的循环计算使用for循环(中国各省市面积统计)
136 0
PIE-engine 教程 ——矢量集合的循环计算使用for循环(中国各省市面积统计)
|
计算机视觉
R实战 | 文章第一表:三线表的绘制(下)
R实战 | 文章第一表:三线表的绘制
534 0
R实战 | 文章第一表:三线表的绘制(下)
R实战 | 文章第一表:三线表的绘制(上)
R实战 | 文章第一表:三线表的绘制
336 0
R实战 | 文章第一表:三线表的绘制(上)
跟着 Cell 学作图 | 箱线图+散点(组间+组内差异分析)
跟着 Cell 学作图 | 箱线图+散点(组间+组内差异分析)
512 0
跟着 Cell 学作图 | 箱线图+散点(组间+组内差异分析)
|
图形学
R可视乎|饼图
饼图(pie chart)被广泛地应用于各个领域,用于表示不同分类的占比情况,通过弧度大小来对比各种分类。饼图通过将一个圆饼按照分类的占比划分成多个切片,整个圆饼代表数据的总量,每个切片(圆弧)表示该分类占总体的比例,所有切片(圆弧)的加和等于100%。
420 0
R可视乎|饼图