ggplot绘制柱状图 python_使用R语言绘制南丁格尔玫瑰图

本文详细介绍了如何使用R语言绘制南丁格尔玫瑰图,步骤包括数据加载、基本图表创建、极坐标转换、美化处理和结果展示。通过实例演示,学习者可以掌握高级图形制作技巧。附带2019年中国省级GDP数据集,及额外数据集下载链接。
摘要由CSDN通过智能技术生成

南丁格尔玫瑰图,又被称为极区图,是一种比较高级的图形。其百度百科解释如下:

南丁格尔玫瑰图是弗罗伦斯·南丁格尔所发明的。又名为极区图。是 一种圆形的直方图。 南丁格尔自己常昵称这类图为鸡冠花图(coxcomb),并且用以表达军医院 季节性的死亡率,对象是那些不太能理解传统统计报表的公务人员。

绘制南丁格尔玫瑰图,有很多种方法,比如我们可以使用Python,可以使用R语言,甚至于说,我们可以使用Excel来进行绘制。我在之前的一篇文章以及一个视频种已经介绍了如何使用Excel来绘制一个南丁格尔玫瑰图。有希望了解具体内容的读者,可以阅读我之前的文章或视频。使用Excel绘制的南丁格尔玫瑰图,还是存在着一定的缺陷的。因此,我们最好还是使用专业一些的工具来进行绘制,比如R语言,比如Python。这一次,我们就使用R语言来进行绘制。

这一次,我们使用的数据集依然是原来的那个中国大陆31省级行政区2019年GDP的那个数据集。不过,这次我们还会分享另一个数据集。

废话少说,我们直接给出代码

# 加载包
library("ggplot2")
library("openxlsx")
# 读取数据并查看
w=read.xlsx("E:南丁格尔玫瑰图(讲解用).xlsx")
head(w)
# 绘制条形图
p<-ggplot(data=w,aes(x=province,y=GDP,fill=province))+geom_bar(stat="identity",color="black")
# 将条形图进行极坐标化
p+coord_polar()
# 中间挖空
p+coord_polar()+ylim(-60000,150000)
# 进行排序处理
p<-ggplot(data=w,aes(x=reorder(province,GDP),y=GDP,fill=province))+geom_bar(stat="identity",color="black")
p+coord_polar()+ylim(-60000,150000)
# 进行美化、添加标题等处理
w$label=paste(w$province,w$GDP)
p+coord_polar()+theme_bw()+theme(panel.grid = element_blank(),panel.border= element_blank(),axis.text.y = element_blank(),axis.text.x = element_blank(),axis.ticks = element_blank(),axis.title = element_blank())+annotate("text",x=0, y=-50000, label="各省n2019年nGDP", fontface="bold", colour="steelblue", size=6) +geom_text(aes(label=w$label),size=3,vjust ="left",hjust ="outward",color ="dark blue",fontface="bold" )+guides(fill=F)+ylim(-60000,150000)
# 保存图形
ggsave("F:南丁格尔玫瑰图.jpeg",width=20,units="cm")

最后的效果,如下图所示:

45d56b68616bdbdd0b449ea5607dd2f0.png

其实,使用R语言绘制南丁格尔玫瑰图还是比较简单的,总共分为四步:

  1. 加载ggplot包
  2. 读取数据
  3. 使用ggplot绘制柱状图,进行极坐标化处理
  4. 进行适当的美化(排序、添加标题等)

觉得不太过瘾,我们再绘制一个南丁格尔玫瑰图,这次,我们就不详细给出代码了,因为代码只是参数变化了一下,这次,我们直接给出结果:

73765a7bb788300808859415ce9817f5.png
南丁格尔玫瑰图绘制​pan.baidu.com

最后,我们给出这一次所用的资料。提取码是:2018。7天之内有效!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值