其他
数据呈现 | R绘图:南丁格尔图,展示全国现制饮品店密度分布
南丁格尔玫瑰图,又名极坐标区域图,是南丁格尔在克里米亚战争期间提交的一份关于士兵死伤的报告时发明的一种图表。
南丁格尔玫瑰图,实质上是一种柱状图,其沿圆而不是直线显示的。它是基于极坐标绘制而成的,使用圆弧的半径长短来表示数据的大小(即数量的多少)。
南丁格尔玫瑰图与柱状图、饼图相比:
★ 南丁格尔玫瑰图本质上是柱状图在极坐标上的展示;
★ 柱状图使用矩形的高度表示数值的大小;
★ 南丁格尔玫瑰图使用扇形的半径大小表示数值的大小,饼图使用扇形的弧度表示数据的大小;
★ 南丁格尔玫瑰图可以同时表现的分类多于饼图。
现制饮品店数据
本期,我们将用2018年全国31个省的现制饮品店数据,来绘制南丁格尔玫瑰图,以期展示不同地区的现制饮品店密度分布特点。表1给出了现制饮品店数据集。
省份 | 现制饮品店数量(家) | 常住人口(万人) | 密度 |
北京 | 486 | 2154.2 | 0.2256 |
天津 | 299 | 1559.6 | 0.1917 |
河北 | 778 | 7556.3 | 0.103 |
山西 | 512 | 3718.34 | 0.1377 |
内蒙古 | 484 | 2534 | 0.191 |
... | ... | ... | ... |
陕西 | 1606 | 3864.4 | 0.4156 |
甘肃 | 539 | 2637.26 | 0.2044 |
青海 | 324 | 603.23 | 0.5371 |
宁夏 | 166 | 688.11 | 0.2412 |
新疆 | 768 | 2486.76 | 0.3088 |
注:密度=现制饮品店数量/常住人口,这里的现制饮品店仅指奶茶店和咖啡店。
绘图代码
基于现制饮品数据集,下面我们用R中ggplot2包来分别绘制柱状图和南丁格尔玫瑰图,比较两者图形的样式差别。
柱状图:geom_bar
## 加载包
library(openxlsx)
library(ggplot2)
## 读取数据集,利用省份和密度两列数据绘图
tea_pro_data<-read.xlsx('tea_pro_data.xlsx')
## 将省份名称,转换因子进行排序
tea_pro_data$pro<-factor(tea_pro_data$pro,order=T,
levels=c('北京','天津','河北','山西','内蒙古','辽宁','吉林','黑龙江','上海','江苏','浙江','安徽','福建','江西','山东','河南','湖北','湖南','广东','广西','海南','重庆','四川','贵州','云南','西藏','陕西','甘肃','青海','宁夏','新疆'))
## 绘制柱状图
ggplot(tea_pro_data,aes(x=pro,y=density))+
geom_bar(position = 'dodge',stat='identity',
fill='#FF534D',color='#E03636',
alpha=0.5)+
theme_bw()+
labs(x='现制饮品店分布(家/万人)',y=NULL)
左右滑动查看更多
南丁格尔玫瑰图:geom_bar+coord_polar
## 绘制南丁格尔玫瑰图
ggplot(tea_pro_data,aes(x=pro,y=density))+
geom_bar(position = 'dodge',stat='identity',
fill='#B9DCED',color='#495A80',size=0.25)+
coord_polar()+
scale_y_continuous(expand=c(0,0))+
scale_x_discrete(expand=c(0,0))+
geom_hline(yintercept=0)+
geom_hline(yintercept=2)+
ylim(-0.25,2)+
theme(panel.border = element_blank(),
axis.ticks = element_blank(),
axis.line = element_blank(),
axis.text.x=element_text(face='bold'),
axis.text.y = element_blank(),
legend.position = c(0.1,0.9),
legend.background = element_blank())+
labs(x='现制饮品店分布(家/万人)',y=NULL)
左右滑动查看更多
图形展示
柱状图效果:
图注:柱状图
南丁格尔玫瑰图效果:
图注:南丁格尔玫瑰图
请您思考
图注:带有气泡的南丁格尔图
►往期推荐
回复【Python】👉简单有用易上手
回复【学术前沿】👉机器学习丨大数据
回复【数据资源】👉公开数据
回复【可视化】👉你心心念念的数据呈现
回复【老姚专栏】👉老姚趣谈值得一看
►一周热文
工具&方法丨关于交互项的那些事(四):非线性模型中的交互效应
数据呈现 | Stata+R绘图:小提琴图,展示不同地区婚姻市场状况
数据Seminar
这里是大数据、分析技术与学术研究的三叉路口
欢迎扫描👇二维码添加关注