前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「R」数据可视化10:面积图

「R」数据可视化10:面积图

作者头像
王诗翔呀
发布2020-07-02 15:37:51
9110
发布2020-07-02 15:37:51
举报
文章被收录于专栏:优雅R优雅R

本文作者蒋刘一琦,自嘲是一个有艺术追求的生信狗,毕业于浙江大学生物信息学专业,目前在复旦大学就读研究生,研究方向为宏基因组。

什么是面积图

面积图是一种源于折线图但是改变了其展现方式的图形。具体地,它通过一定的区域面积来表示数据大小,利用不同的颜色或者线条来区别不同组的数据。William Playfair,苏格兰工程师和政治经济学家,是图形化统计方法的创始人,是面积图的发明人,除此之外他还发明了折线图、条形图、饼图等。他发表于1786年的著作The Commercial and Political Atlas中使用了面积图:

让我们来看一个维基百科给的例子:

凭借谷歌翻译,了解到这张图(图中为德语)主要是展示了1991-2015年德国移民的情况,图中不同颜色就代表着不同的移民类别,而面积大小就代表的移民数量。所以显而易见最多的类别为紫色Asylbewerber(寻求庇护),其次是绿色其他外国人。从图形的变化可以看到,紫色和绿色两类都是近年都是有所增长的,而蓝色(海归)可以看到近年来有所下降,黄色(其他类别)则相对比较稳定。

通过上述例子可以看出面积图和折线图很相似,在很多时候两者可以相互替代,以丰富数据可视化的形式。

怎么做面积图

1)需要什么格式的数据本次使用的是一个US economic time series的名叫economics的数据。我们选择其中的两列数据:psavert和uempmed。psavert: personal savings rateuempmed: median duration of unemployment, in weeks

代码语言:javascript
复制
library(ggplot2)
library(lubridate)

#选择年份范围:2000年-2014年
df <- economics[,c("date", "psavert", "uempmed")]
df <- df[lubridate::year(df$date) %in% c(2000:2014), ]

数据格式

2)如何作图

代码语言:javascript
复制
library(ggplot2)
library(lubridate)
library(RColorBrewer)

#psavert=personal savings rate,uempmed=median duration of unemployment, in weeks,
dat <- economics[,c("date", "psavert", "uempmed")]
dat<- dat[lubridate::year(dat$date) %in% c(2000:2014), ]


#plot
p<-ggplot(dat,aes(x=date))+
  geom_area(aes(y=uempmed+psavert,fill="psavert"))+#注意先后顺序因为ggplot2是图层叠加
  geom_area(aes(y=uempmed,fill="uempmed"))+
  theme_bw()+
  theme(
    legend.title = element_blank()
  )+
  scale_fill_brewer(palette = "Paired")+
  labs(title='Area Chart of Returns Percentage',
       subtitle='Source: FRED Economic Research')+
  ylab("Returns%")+
  xlab('Year')
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 优雅R 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是面积图
  • 怎么做面积图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档