和我一起学习克利夫兰点图系列
如图所示,三种不同类型的图表,但是在本质上都可以看成是克利夫兰点图,所以就归纳成同一类别:
棒棒糖图(LollipopChart):棒棒糖图传达了跟柱形图或者条形图相同的信息,只是将矩形转变成线条,这样可减少展示空间,重点放过在数据点上,从而看起来更加简洁与美观。相对于柱形图与条形图,棒棒糖图更加适合数据量比较多的情况。图(a)为横向棒棒糖图,对应条形图;而如果是纵向棒棒糖图则对于柱形图。
克利夫兰点图(Cleveland'sDot Plots):也就是我们常用的滑珠散点图,非常类似于棒棒糖图,只是没有连接的线条,重点强调数据的排序展示以及互相之间的差距。如图(b)所示。克利夫兰点图一般都是横向展示,所以Y轴变量一般为类别型变量。
哑铃图(DumbbellPlot):可以看成多数据系列的克利夫兰点图,只是使用直线连接了两个数据系列的数据点。哑铃图可以主要用于:1.展示在同一时间段两个数据点的相对位置(增加或者减少),2.比较两个类别之间的数据值差别。如图(c)所示,就是展示了男性(male)和女性(Female)两个类别的数值差别,以女性(Female)数据系列的数值排序显示。
克利夫兰点图
R语言ggplot2包就提供了点状图绘制的函数:geom_point。3-3-1(b)克利夫兰点图的实现代码如下所示:
mydata<-read.table("克利夫兰点图.txt",header = TRUE) order<-sort(mydata$Revenue,index.return=TRUE,decreasing = FALSE) mydata$City<- factor(mydata$City, levels = mydata$City[order$ix]) ggplot(mydata, aes(Revenue, City)) + geom_point(shape=21,size=3,colour="black",fill="#FC4E07") |
哑铃图
R语言ggplot2包就提供了点状图绘制的函数:geom_point。3-3-1(c)哑铃图的实现代码如下所示:
mydata<-read.table("哑铃图.txt",header = TRUE) mydata$City <- factor(mydata$City, levels = mydata$City[order(mydata$Female)]) mydata<-melt(mydata,id.vars='City') ggplot(mydata, aes(value,City,fill=variable)) + geom_line(aes(group = City)) + geom_point(shape=21,size=3,colour="black") |
棒棒糖图
R语言ggplot2包就提供了点状图绘制的函数:geom_point。3-3-1(a)棒棒糖图的实现需要添加辅助数据系列,代码如下所示:
mydata<-read.table("克利夫兰点图.txt",header = TRUE) order<-sort(mydata$Revenue,index.return=TRUE,decreasing = FALSE) mydata$City<- factor(mydata$City, levels = mydata$City[order$ix]) mydata<-mutate(mydata,Line= rep(0,nrow(mydata))) #添加辅助数据 mydata<-melt(as.data.frame(mydata),id.vars='City') ggplot(mydata, aes(value, City)) + geom_point(aes(shape=variable),size=3,colour="black",fill="#FC4E07")+ geom_line(aes(group = City)) + scale_shape_manual(values=c(21,NA)) |
如需转载请联系EasyCharts团队!
微信后台回复“转载”即可!
【书籍推荐】《Excel 数据之美--科学图表与商业图表的绘制》
【必备插件】 EasyCharts -- Excel图表插件
【网易云课堂】 Excel 商业图表修炼秘笈之基础篇
【手册获取】国内首款-数据可视化参考手册:专业绘图必备