当前位置:   article > 正文

经济学人风格统计分布图怎样绘制?!一行代码搞定

经济学人 python图表
 
 

29c9ddba8677618f7fe4e5d89fbdc104.gif

 
 
公众号后台回复“图书“,了解更多号主新书内容

     作者:宁俊骐

     来源:DataCharm

今天小编给大家推荐一种绘制另类分布图的绘制方法,其可以绘制出经济学人风格的箱线分布统计图。当然,你可以将其看作是箱线图的另外一种可视化形式。涉及的知识点为R-ggeconodist包绘图技巧,详细内容如下:

  • R-ggeconodist包简介

  • R-ggeconodist包样例介绍

R-ggeconodist包简介

R-ggeconodist包作为建立在ggplot2基础上的第三方包,其可以任意添加其他图层(geom_),当然,其目的是帮助我们绘制出经济学人风格样式的箱线统计图,主要包含的绘图函数如下:

  • add_econodist_legend():获取经济学人风格的图例(econodist legend )

  • econodist_legend_grob():创建与Econodist图表一起使用的图grob。

  • geom_econodist():经济学人图层绘制。

  • left_align():帮助将ggplot2绘图组件左侧。

  • theme_econodist():经济学人风格的ggplot2绘图主题。

接下来,小编就通过几个例子介绍R-ggeconodist包的绘图效果。

R-ggeconodist包样例介绍

「样例一」:ggplot2::geom_boxplot() 和 ggeconodist::geom_econodist()

  • ggplot2::geom_boxplot()

  1. library(tidyverse)
  2. library(ggtext)
  3. library(hrbrthemes)
  4. library(wesanderson)
  5. library(ggsci)
  6. library(ggeconodist)
  7. plot01 <- ggplot(mpg, aes(class, hwy)) + 
  8.   geom_boxplot() +
  9.   labs(
  10.     title = "Example of <span style='color:#D20F26'>ggplot2::geom_boxplot function</span>",
  11.     subtitle = "processed charts with <span style='color:#1A73E8'>geom_boxplot()</span>",
  12.     caption = "Visualization by <span style='color:#0057FF'>DataCharm</span>") +
  13.   hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +
  14.   theme(
  15.     plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",
  16.                                   size = 20, margin = margin(t = 1, b = 12)),
  17.     plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
  18.     plot.caption = element_markdown(face = 'bold',size = 12)
  19.       )
f1736986797e1eafb08fd745cc99380e.png
Example Of ggplot2::geom_boxplot()
  • ggeconodist::geom_econodist()

  1. plot01_01 <- ggplot(mpg, aes(class, hwy)) + 
  2.   ggeconodist::geom_econodist(width = 0.25) +
  3.   labs(
  4.     title = "Example of <span style='color:#D20F26'>ggeconodist::geom_econodist function</span>",
  5.     subtitle = "processed charts with <span style='color:#1A73E8'>geom_econodist()</span>",
  6.     caption = "Visualization by <span style='color:#0057FF'>DataCharm</span>") +
  7.   hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +
  8.   theme(
  9.     plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",
  10.                                   size = 20, margin = margin(t = 1, b = 12)),
  11.     plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
  12.     plot.caption = element_markdown(face = 'bold',size = 12)
  13.       )
0150aa10c178db8dc639871bc8b9d664.png
Example Of ggeconodist::geom_econodist()

下面这幅图可以更好的对比两者不同的可视化效果:

2d42d4ee05022838e82fcf40db44ffed.png
ggplot2::geom_boxplot() And ggeconodist::geom_econodist()

介绍完具体的不同之后,我们再试着对其默认的颜色进行更改:

「样例二」:

  1. plot02 <- ggplot(mpg, aes(class, hwy)) + 
  2.   ggeconodist::geom_econodist(width = 0.5,median_point_size = 1.5,tenth_col = "#BC3C28", ninetieth_col = "#0072B5") +
  3.   coord_flip() +
  4.   labs(
  5.     title = "Example of <span style='color:#D20F26'>ggeconodist::geom_econodist function</span>",
  6.     subtitle = "processed charts with <span style='color:#1A73E8'>geom_econodist()</span>",
  7.     caption = "Visualization by <span style='color:#0057FF'>DataCharm</span>") +
  8.   hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +
  9.   theme(
  10.     plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",
  11.                                   size = 20, margin = margin(t = 1, b = 12)),
  12.     plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
  13.     plot.caption = element_markdown(face = 'bold',size = 12)
  14.       )
be0f71849a9f5fcc92a8f9f49d4fcad5.png
Example02 Of ggeconodist::geom_econodist()

当然,你还可以附上不同颜色:

「样例三」:

  1. plot03 <- ggplot(mpg, aes(class, hwy)) + 
  2.   ggeconodist::geom_econodist(aes(fill=factor(drv)),alpha=.5) +
  3.   ggsci::scale_fill_nejm()+
  4.   labs(
  5.     title = "Example of <span style='color:#D20F26'>ggeconodist::geom_econodist function</span>",
  6.     subtitle = "processed charts with <span style='color:#1A73E8'>geom_econodist()</span>",
  7.     caption = "Visualization by <span style='color:#0057FF'>DataCharm</span>") +
  8.   hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +
  9.   theme(
  10.     plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",
  11.                                   size = 20, margin = margin(t = 1, b = 12)),
  12.     plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
  13.     plot.caption = element_markdown(face = 'bold',size = 12)
  14.       )
de7362cf99f4422af68118bfe3de63fa.png
Example03 Of ggeconodist::geom_econodist()

「样例四」:添加额外样例

  1. gapminder %>%
  2.   filter(year %in% c(195219621972198219922002)) %>%
  3.   filter(continent != "Oceania") %>%
  4.   ggplot(aes(x = factor(year), y = lifeExp, fill = continent)) +
  5.   geom_econodist(
  6.     median_point_size = 1.2,
  7.     tenth_col = "#b07aa1",
  8.     ninetieth_col = "#591a4f",
  9.     alpha = .5,
  10.     show.legend = FALSE
  11.   ) +
  12.   ggsci::scale_fill_jama(name = NULL) +
  13.   coord_flip() +
  14.   facet_wrap(~continent, nrow = 4) +
  15.    labs(
  16.     title = "Example of <span style='color:#D20F26'>ggeconodist::geom_econodist function</span>",
  17.     subtitle = "processed charts with <span style='color:#1A73E8'>geom_econodist()</span>",
  18.     caption = "Visualization by <span style='color:#0057FF'>DataCharm</span>") +
  19.   hrbrthemes::theme_ipsum_rc(base_family = "Roboto Condensed") +
  20.   theme(
  21.     plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",
  22.                                   size = 20, margin = margin(t = 1, b = 12)),
  23.     plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
  24.     plot.caption = element_markdown(face = 'bold',size = 12)
  25.       ) %>% 
  26.   # 添加额外图例
  27.   add_econodist_legend(
  28.     econodist_legend_grob(
  29.       tenth_col = "#b07aa1",
  30.       ninetieth_col = "#591a4f",
  31.     ), 
  32.     below = "axis-b-1-4"
  33.     just = "right"
  34.   ) %>% 
  35.   grid.draw() %>% 
  36. ggsave(filename = geom_econodist04.png",
  37.   width = 7.5, height = 8, dpi = 900)
462b7f1606309649ae9e19019785cd85.png
Example04 Of ggeconodist::geom_econodist()

更多详细内容可参考:R-ggeconodist介绍[1]

总结

今天小编介绍了另类的分布统计图绘制(geom_econodist),带给大家不一样的视觉效果,希望小伙伴们可以尝试下~~

  1. ◆ ◆ ◆  ◆ ◆
  2. 麟哥新书已经在当当上架了,我写了本书:《拿下Offer-数据分析师求职面试指南》,目前当当正在举行活动,大家可以用相当于原价5折的预购价格购买,还是非常划算的:
 
 
  1. 数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。
  2. 管理员二维码:
  3. 猜你喜欢
  4. ● 卧槽!原来爬取B站弹幕这么简单
  5. ● 厉害了!麟哥新书登顶京东销量排行榜!
  6. ● 笑死人不偿命的知乎沙雕问题排行榜
  7. ● 用Python扒出B站那些“惊为天人”的阿婆主!
  8. ● 你相信逛B站也能学编程吗
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/659496
推荐阅读
相关标签
  

闽ICP备14008679号