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

简介: 知乎看到这样一个问题,不请自来回答一下,也算对这段时间可视化推文的一个总结吧。看到很多答主都给出了全面的回答,包括数据处理,统计建模等方面。而在这篇推文中,我将对自己较为擅长的领域(R语言可视化)进行详细的介绍。全文干货十足,给出的拓展链接也十分丰富。可以先收藏,以后慢慢研究。

简介


$9CM}B0A~984BCE]WM{V5YX.png

知乎看到这样一个问题,不请自来回答一下,也算对这段时间可视化推文的一个总结吧。看到很多答主都给出了全面的回答,包括数据处理,统计建模等方面。而在这篇推文中,我将对自己较为擅长的领域(R语言可视化)进行详细的介绍。全文干货十足,给出的拓展链接也十分丰富。可以先收藏,以后慢慢研究。


ggplot2包

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

SDTBSUWCS(}~ZS}5ZAN1ZW7.jpg

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

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

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

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


ggplot2拓展包

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

7UM[BC6EVVS1P7GIUEKACY0.png

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学习资料都在这呢。

UBA2E2C)V8RD0XJV@@%99_V.png

  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')

K(%@DKI$}HZ2WTQR~~YA9}P.png

  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)

{20`4)`OGF5WQJNPD]6[Q7P.png

  1. cowplot[8]gridExtra[9]patchwork[10]

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

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

3(NJI6H7NN{Q2AYI(GW(2BO.png

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

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

HPJNE(SQN_N6JC{X~~$RPGQ.png


目录
相关文章
|
安全 算法 网络安全
一文读懂 RSA 加密:非对称加密的基石
RSA是应用最广泛的非对称加密算法,由Rivest、Shamir和Adleman于1977年提出。它基于大数分解难题,使用公钥加密、私钥解密,解决密钥分发问题,广泛用于HTTPS、数字签名等安全通信场景,是现代网络安全的基石之一。
4457 0
|
数据采集 人工智能 API
Qwen2.5-Coder深夜开源炸场,Prompt编程的时代来了!
通义千问团队开源「强大」、「多样」、「实用」的 Qwen2.5-Coder 全系列,致力于持续推动 Open Code LLMs 的发展。
|
缓存 Java 应用服务中间件
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
5013 5
|
存储 数据可视化 大数据
大数据管理与应用
大数据管理与应用是一门融合数学、统计学和计算机科学的新兴专业,涵盖数据采集、存储、处理、分析及应用,旨在帮助企业高效决策和提升竞争力。核心课程包括数据库原理、数据挖掘、大数据分析技术等,覆盖数据处理全流程。毕业生可从事数据分析、大数据开发、数据管理等岗位,广泛应用于企业、金融及互联网领域。随着数字化转型加速,该专业需求旺盛,前景广阔。
1139 5
|
数据安全/隐私保护
爱问云classin伯索云cctalk学堂录屏翻录提取工具使用方法
近期专注于网课加密视频难题,因播放器检测机制,多数录屏工具无法正常使用或录制为黑屏。为解决此问题,推荐一款专用软件:只需确保视频正常播放,运行软件并点击“一键解除录屏限制”,待提示成功后启用配套录屏工具即可
|
Dart IDE 开发工具
鸿蒙Flutter实战:09-现有Flutter项目支持鸿蒙
本文介绍了将现有Flutter项目适配鸿蒙系统的步骤。首先,根据[鸿蒙Flutter适配指南]搭建开发环境,并使用fvm管理多版本SDK。项目采用模块化设计,包括apps、common、components、modules和plugins等目录,分别对应不同功能模块。重点在于在apps目录下创建新的鸿蒙项目,逐步添加依赖并解决版本兼容性问题。最后,通过配置pubspec.yaml文件和特定插件的鸿蒙化适配,完成项目的编译与运行测试。
1265 0
|
消息中间件 NoSQL 调度
Django后端架构开发:Django 与 Celery 的深度集成
Django后端架构开发:Django 与 Celery 的深度集成
1106 0
|
数据挖掘 5G 定位技术
行政边界与路网、建筑轮廓、POI、基站数据下载网站整理
行政边界与路网、建筑轮廓、POI、基站数据下载网站整理
1384 2
|
Java 数据库连接 数据库
【SSM框架】SSM到底是什么,为什么这么多人使用
【SSM框架】SSM到底是什么,为什么这么多人使用
13855 0