专栏首页庄闪闪的R语言手册可视化中你最常用的软件包有哪些?

可视化中你最常用的软件包有哪些?

简介

知乎看到这样一个问题,不请自来回答一下,也算对这段时间可视化推文的一个总结吧。

看到很多答主都给出了全面的回答,包括数据处理,统计建模等方面。而在这篇推文中,我将对自己较为擅长的领域(R语言可视化)进行详细的介绍。

全文干货十足,给出的拓展链接也十分丰富。可以先收藏,以后慢慢研究。

ggplot2包

ggplot2包是Harley Wickham在2005年创建的,是包含了一套全面而连贯的语法的绘图系统。

弥补了R中创建图形缺乏一致性的缺点,且不会局限于一些已经定义好的统计图形,可以根据需要创造出任何有助于解决所遇到问题的图形。

核心理念:将绘图与数据分离,数据相关的绘图与数据无关的绘图分离,按图层作图

也正是因为这个包,直接将R可视化推向了顶端,可以说是所有编程软件绘图最出色的包了吧。

哦对了,我把ggplot2基础进行整理,写了一个文稿,推送可见:R分享|自制112页可视化课件。如果对R语言可视化感兴趣,并且想从基础学习的话,可以配着我上的课进行学习(b站链接[1])。好几位师弟师妹回复说,听了受益匪浅噢!?

ggplot2拓展包

除此之外,正是因为大佬的ggplot包,延伸出了很多基于ggplot的拓展包,官网一共汇总了ggplot82种拓展包[2]

82种拓展的ggplot包

我整理的11个扩展包

大家可能会说这么多,我怎么学的完啊!不要怕,我已经把最实用,最热门的包进行整理了。

可视化是小编个人业余爱好,纯属感兴趣,于是自愿做了一名大自然搬运工(翻译工),并加上自己的理解,整理了以下11个拓展包。可以直接点击进入,所有源代码和Rmd文档可在我的github[3]中获得。这里就不对这些包做过多介绍了,但各个精品,值得一学!

  1. ggvis包---数据可视化交互
  2. ggridges包---峰峦图详细介绍
  3. esquisse包---不写代码生成ggplot图
  4. calendR包---私人定制专属日历
  5. corrplot包:相关性矩阵可视化
  6. cowplot包:用R添加水印
  7. flexdashboard包:用于R的简单交互式仪表盘
  8. gghalves包-你五毛我五毛
  9. 用ggpubr包制图
  10. reticulate包--数据科学者的福音
  11. igraph包--绘制网络图

其他推荐的可视化拓展包(正打算整理整理)

  1. ggthemes[4]

ggplot的几何图形,尺度和主题的变换。是提升图像美观的拓展包,非常推荐。下面给出一个例子:

library("ggplot2")
library("ggthemes")

p2 <- ggplot(mtcars, aes(x = wt, y = mpg, colour = factor(gear))) +
  geom_point() +
  ggtitle("Cars")
  
p2 + theme_solarized() +
  scale_colour_solarized("blue")

当然,还有其他不同选择,官网介绍可见:Introduction to ggthemes[5],或者可以等我出教程啦!欢迎关注我的b站,公众号以及知乎,最新的R学习资料都在这呢。

  1. gganimate[6]

gganimate扩展了由ggplot2实现的图形语法,以包括动画的描述。为此,它提供了一系列新的语法类,可以将它们添加到plot对象中,以自定义其随时间变化的方式。这里给出一些例子:

library(ggplot2)
library(gapminder)

ggplot(gapminder, aes(gdpPercap, lifeExp, size = pop, colour = country)) +
  geom_point(alpha = 0.7, show.legend = FALSE) +
  scale_colour_manual(values = country_colors) +
  scale_size(range = c(2, 12)) +
  scale_x_log10() +
  facet_wrap(~continent) +
  # Here comes the gganimate specific bits
  labs(title = 'Year: {frame_time}', x = 'GDP per capita', y = 'life expectancy') +
  transition_time(year) +
  ease_aes('linear')
  1. ggrepel[7]

grepel为ggplot2提供了几何图形来解决文本标签重叠的问题。

library(ggrepel)
ggplot(mtcars, aes(wt, mpg, label = rownames(mtcars))) +
  geom_text_repel() +
  geom_point(color = 'red') +
  theme_classic(base_size = 16)
  1. cowplot[8]gridExtra[9]patchwork[10]

关于ggplot图片组合,排版可以使用上面三个包的任意一个进行实现。我也给出了非常详细介绍。可见这几篇推文:

patchwork包R可视乎|合并多幅图形R可视乎|混合多个图形

5.和esquisse包类似的包:ggthemeassist[11]ggedit[12]

可以通过点击按钮实现ggplot的绘图,并获得相应代码和轻松导出图形。

小编有话说

除了官网的82个拓展包之外,当然还有许多值得探索的拓展包。这里给大家推荐【R语言统计与绘图】的小众优秀R包系列,包含了非常多实用又有趣的R包。当然也可以关注我公众号的可视化系列。

参考资料

[1]

b站链接: https://www.bilibili.com/video/BV1yz4y1S7im/

[2]

ggplot81种拓展包: https://exts.ggplot2.tidyverse.org/gallery/

[3]

github: https://github.com/liangliangzhuang/R_example

[4]

ggthemes: https://github.com/jrnold/ggthemes

[5]

Introduction to ggthemes: https://mran.microsoft.com/snapshot/2016-12-03/web/packages/ggthemes/vignettes/ggthemes.html

[6]

gganimate: https://gganimate.com/

[7]

ggrepel: https://github.com/slowkow/ggrepel

[8]

cowplot: https://cran.r-project.org/web/packages/cowplot/vignettes/introduction.html

[9]

gridExtra: https://www.bing.com/search?q=gridExtra&qs=n&form=QBLHCN&sp=-1&pq=gridextra&sc=8-9&sk=&cvid=76BF44D1652F4F0E989F0928712EFC9D

[10]

patchwork: https://www.rdocumentation.org/packages/patchwork/versions/1.1.1

[11]

ggthemeassist: https://github.com/calligross/ggthemeassist

[12]

ggedit: https://github.com/yonicd/ggedit

本文分享自微信公众号 - 庄闪闪的R语言手册(Zss_R4ds),作者:庄闪闪

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-02-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 视频直播软件开发,直播软件开发中的常见协议有哪些

    1、RTMP(Real RTMP(real time messaging protocol)实时消息传输协议 RTMP 给予TCP协议 是一个协议族 包括RTM...

    布谷鸟小刘
  • 一对一视频聊天软件开发中,用到的编码器有哪些?

    在一对一视频聊天软件开发过程中,涉及到众多的音视频编解码技术,例如:视频编解码、音频编解码、硬件编解码和音视频加密等等。要实现这些技术,肯定要选择合适的编码器。...

    就爱吃小笼包
  • 软件公司管理中最常遇到的7种负能量,你的公司有这些现象吗?

    软件公司管理过程中,"传染"最快的不是那些鼓舞人心、积极向上的信息和能量,而是那些让人消极、倦怠、心里不爽的人和事。若你稍不留心,自己也可能卷入负面能量的漩涡,...

    西安弈聪软件公司
  • 超贴心 :一份简单明了的营销分析软件包测评

    大数据文摘
  • 会声会影和pr哪个好

    你是否曾经为了找到一款功能强大且易于使用的视频编辑软件而苦苦寻觅?如果你打算为你的电影或视频添加炫目的特效,本文推荐两款最好的视频编辑软件:会声会影(Corel...

    用户8267346
  • iOS程序员面试,绝对会遇到这些问题!

    iOSSir
  • 100个iOS开发/设计程序员面试题汇总,你将如何作答?

    无论是对于公司还是开发者或设计师个人而言,面试都是一项耗时耗钱的项目,本文作者CameronBanga从编程、设计、AppStore等各个方面对iOS开发者及设...

    华章科技
  • 六个方向关于iOS100个面试题,你都会了吗?

    请概括一下你在构建iOS应用时的测试过程。iOS应用如何实现对其他语言、日期格式以及货币单位的支持?

    Kris大鲨
  • 优秀开源推荐 | 数据可视化利器psyplot

    在这里,我们介绍一个开源的Python项目,它主要结合matplotlib的绘图实用程序和xarray包的数据管理,并将它们集成到一个可以通过命令行和GUI使用...

    郭好奇同学

扫码关注云+社区

领取腾讯云代金券