商务风格可视化插图怎么绘制?一行代码搞定~~

上期推文推出使用极少代码绘制顶级期刊要求的学术图表(一行代码绘制符合···)后,有小伙伴就问了,有没有可以使用较少代码绘制偏商业风的技巧分享?还别说,我还真有这样的技巧准备分享给爱学习的你们!话不多说,咱们开始,本期的推文主要内容如下:

  • R-ggcharts 简介

  • R-ggcharts 实例绘制展示

  • 更多详细的数据可视化教程,可订阅我们的店铺课程:

R-ggcharts 简介

R虽然有优秀的ggplot2包帮助我们完成各种各样的可视化作品(只要数据支持,理论上你能想到的任何图表都是能够绘制的),但对图表颜值有一定要求的小伙伴们可能需要花费大量时间去定制化绘制(我们还有主题包,这里不做讨论哈),而R-ggcharts包则可以帮助我们使用极少的代码绘制出商业风格的可视化作品。介绍如下:

  1. 官网

官网:https://thomas-neitmann.github.io/ggcharts/index.html ,这里放一下官网的图:

R-ggcharts 官网

(第一眼看到这个就慕了,作者是讲究人啊)

  1. 主要绘图函数

R-ggcharts作为一个新包,其提供的作图函数还不是很多,主要如下:

  • *bar_chart()、column_chart()*:绘制条形图(Bar Chart)

  • diverging_bar_chart(): 绘制不同方向条形图(Diverging Bar Chart)

  • diverging_lollipop_chart(): 绘制不同方向棒棒糖图(Diverging Lollipop Chart)

  • dumbbell_chart(): 绘制哑铃图(Dumbbell Chart)

  • line_chart(): 绘制线图(Line Chart)

  • lollipop_chart():绘制单一方向的棒棒糖图(Lollipop Chart)

  • pyramid_chart(): 绘制金字塔图(Pyramid Chart)

此外,R-ggcharts还提供theme_coffee()、theme_ggcharts()、theme_hermit()、theme_ng()、theme_nightblue() 多个主题,更多详细内容,可参考官网哈。

R-ggcharts 实例绘制展示

介绍完主要的绘图函数,我们还是进行实例展示,体验R-ggcharts包带给我们的绘图便捷性。

  • 「bar charts」

我们首先对比下和常规ggplot2绘图的不同,以下为ggplot2 绘制柱形图代码:

library(dplyr)
library(ggplot2)
library(ggcharts)
data("biomedicalrevenue")

plot01_ggplot2 <- biomedicalrevenue %>%
  filter(year %in% c(2012, 2015, 2018)) %>%
  group_by(year) %>%
  top_n(10, revenue) %>%
  ungroup() %>%
  mutate(company = tidytext::reorder_within(company, revenue, year)) %>%
  ggplot(aes(company, revenue)) +
  geom_col() +
  coord_flip() +
  tidytext::scale_x_reordered() +
  facet_wrap(vars(year), scales = "free_y")

bar charts with ggplot2

而使用ggcharts 进行绘制,不仅代码量减少,其颜值也大幅度提升:

plot01_ggcharts <- biomedicalrevenue %>%
  filter(year %in% c(2012, 2015, 2018)) %>%
  bar_chart(x = company, y = revenue, facet = year, top_n = 10)

bar charts with ggcharts

如果我们结合主题包hrbrthemes进行更加细致的绘制,可得到如下结果:

bar charts with hrbrthemes

bar charts with ggcharts and hrbrthemes

  • 「Diverging Bar Chart」

这类型在使用ggplot2绘制时,往往需要较多的代码量进行绘制,而 ggcharts 则只需几行代码即可:

diverging_bar_chart <- diverging_bar_chart(mtcars_z, model, hpz, text_color = c("#1F77B4", "#FF7F0E")) +
  # 细节美化操作
  labs(
           subtitle = "processed charts with <span style='color:#1A73E8'>ggcharts</span>",
           caption = "Visualization by <span style='color:#DD6449'>DataCharm</span>")+
  # 添加主题
  hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +
  theme( 
            plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
            plot.caption = element_markdown(face = 'bold',size = 12),
          )

diverging_bar_chart

  • 「diverging_lollipop_chart」

diverging_lollipop_chart <- diverging_lollipop_chart(mtcars_z, model, hpz, text_color = c("#1F77B4", "#FF7F0E"))+
  # 细节美化操作
  labs(
           subtitle = "processed charts with <span style='color:#1A73E8'>ggcharts</span>",
           caption = "Visualization by <span style='color:#DD6449'>DataCharm</span>")+
  # 添加主题
  hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +
  theme( 
            plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
            plot.caption = element_markdown(face = 'bold',size = 12),
          )

diverging_lollipop_chart

  • 「dumbbell chart」

data(popeurope)
dumbbell_chart(popeurope, country, pop1952, pop2007, top_n = 10,line_color = "black",
               line_size = 1, point_size = 5) +
 # 细节美化操作
  labs(    title = "Example of <span style='color:#D20F26'>ggcharts::dumbbell_chart function</span>",
           subtitle = "processed charts with <span style='color:#1A73E8'>dumbbell_chart()</span>",
           caption = "Visualization by <span style='color:#DD6449'>DataCharm</span>")+
  # 添加主题
  hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +
  theme(    plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",
                                     size = 20, margin = margin(t = 1, b = 12)),
            plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
            plot.caption = element_markdown(face = 'bold',size = 12),
          )

dumbbell chart

  • 「lollipop_chart」

lollipop_chart(biomedicalrevenue, company, revenue, facet = year, line_color = "purple",top_n = 10) +
labs(    title = "Example of <span style='color:#D20F26'>ggcharts::lollipop_chart function</span>",
           subtitle = "processed charts with <span style='color:#1A73E8'>lollipop_chart()</span>",
           caption = "Visualization by <span style='color:#DD6449'>DataCharm</span>")+
theme(text = element_text(family = "Roboto Condensed"),
     plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",face = "bold",
                                     size = 20, margin = margin(t = 1, b = 12)),
            plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
            plot.caption = element_markdown(face = 'bold',size = 12))

lollipop_chart

  • 「Pyramid Chart」

data(popch)
pyramid_chart(popch, age, pop, sex,xlab = "Population", title = "Switzerland 2020")

Pyramid Chart

  • 「主题设置」 ggcharts 包提供了多种主题,可视化绘制分别如下:

ggcharts_set_theme("theme_hermit")
bar_chart(data = diamonds, x = cut)

theme_hermit

theme_ng

theme_nightblue

  • 高亮标出 这是ggcharts的一大亮点,也是小编非常喜欢的一个

ggcharts_set_theme("theme_ng")
bar_chart(data = diamonds, x = cut,highlight = "Premium")+
#细节美化操作
  labs(    title = "Example of <span style='color:#D20F26'>ggcharts::highlight process</span>",
           subtitle = "processed charts with <span style='color:#1A73E8'>highlight</span>",
           caption = "Visualization by <span style='color:#DD6449'>DataCharm</span>")+
  # 添加主题
  theme(    text = element_text(family = "Roboto Condensed"),
            plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",
                                     size = 20, margin = margin(t = 1, b = 12)),
            plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
            plot.caption = element_markdown(face = 'bold',size = 12),
          )

highlight process

更多详细内容,大家可去官网自行探索哈~~

总结

本期推文我们介绍一个绘制图表更加方便(少代码量,商业风)的优质绘图包,极大的简化那些复杂图表的绘制过程,希望大家可以喜欢~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/706925.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

亚马逊跟卖选品不再迷茫,适合跟卖卖家得一款选品软件工具!

对于刚开始做跟卖的卖家而言&#xff0c;刚开始最头疼的应该就是选品了吧&#xff0c;不知道跟卖什么产品&#xff0c;不是知道怎么有效的选择跟卖产品&#xff0c;所以很多卖家都会借助&#xff0c;选品软件来进行选品&#xff0c;这样不仅能提高选品的效率&#xff0c;还能帮…

国际期货短线交易的技巧有哪些?

期货短线交易的技巧&#xff1a; 1、快、准、狠。 如果离开这三个字&#xff0c;你不适合做短线&#xff0c;或者说你永远也做不好短线。 2、仓位管理。 每天可能有二到三次的短线开仓的好机会,为了保证开仓后不因资金占用过多&#xff0c;错过更好盈利的品种.每次开仓的资金…

悦库企业网盘 /user/login/.html SQL注入漏洞复现

0x01 产品简介 悦库企业网盘是一款专为满足企业文件管理、协同办公、文件共享需求而设计的私有部署安全、简单的企业文件管理系统。该产品全面覆盖企业文件管理场景,提供一系列功能强大且操作简便的解决方案,助力企业提升效率、降低管理成本。悦库企业网盘提供精细的权限管理…

全面了解性格测试:探索你的内在世界

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 全面了解性格测试&#xff1a;探索你的内在世界 什么是性格测试&#xff1f; 定义和概念 &#x1f9e0; …

2024酒店IPTV云桌面系统建设方案

Hello大家好&#xff0c;我是点量小芹&#xff0c;这一年多的时间一直在分享实时云渲染像素流相关的内容&#xff0c;今天和大家聊聊酒店IPTV云桌面电视系统解决方案&#xff0c;或者有的朋友也会称之为IPTV服务器。熟悉小芹的朋友知道&#xff0c;IPTV软件系统是我们一直在推的…

c++中main(int argc, char* argv[])参数详解

目录 一、main函数形式 1.无参数&#xff1a; 2.带有两个参数&#xff1a; 二、参数详解 1.int argc 2.char* argv[] 三、示例演示 一、main函数形式 在C中&#xff0c;main 函数可以有两种常见的参数形式&#xff1a; 1.无参数&#xff1a; 代码如下&#xff1a; i…

Scala网络编程:代理设置与Curl库应用实例

在网络编程的世界里&#xff0c;Scala以其强大的并发模型和函数式编程特性&#xff0c;成为了开发者的得力助手。然而&#xff0c;网络请求往往需要通过代理服务器进行&#xff0c;以满足企业安全策略或访问控制的需求。本文将深入探讨如何在Scala中使用Curl库进行网络编程&…

DBeaverUE Mac版:数据库管理新纪元,一键掌控所有数据

DBeaverUE for Mac是一款卓越的数据库管理软件&#xff0c;专为Mac用户设计&#xff0c;提供了一套高效、稳定且全面的数据库解决方案。以下是关于这款插件的详细介绍&#xff1a; 1. 强大的数据库支持 DBeaverUE for Mac支持多种数据库系统&#xff0c;包括但不限于MySQL、Po…

【启明智显分享】个位数价格工业HMI芯片:720P@60fps,配备2D加速

我们生活在一个“屏”的时代&#xff0c;工业自动化、智能生活的实现都离不开屏幕的帮助&#xff0c;而对于消费者而言&#xff0c;最大的痛点就是显示屏的画质&#xff0c;一个优质的人机交互界面影响着用户体验&#xff0c;流畅清晰的图像呈现与屏幕的分辨率、刷新率都息息相…

Docker-Portainer可视化管理工具

Docker-Portainer可视化管理工具 文章目录 Docker-Portainer可视化管理工具介绍资源列表基础环境一、安装Docker二、配置Docker加速器三、拉取Portainer汉化版本镜像四、运行容器五、访问可视化界面 介绍 Portainer是一款开源的容器管理平台&#xff0c;它提供了一个直观易用的…

Unity UGUI ScrollRect 滑动显示左右箭头

目录 一、前言 二、效果 三、代码解析 EnhancedScrollRect.cs 解析 Start 方法 HandleArrowVisibility 方法 EnhancedScrollRectEditor.cs 解析 OnEnable 方法 OnInspectorGUI 方法 四、完整代码 EnhancedScrollRect.cs EnhancedScrollRectEditor.cs 五、总结 De…

零碳产业园区建设指南案例

零碳产业园区的建设一直备受广泛关注&#xff0c;特别是在我国碳达峰碳中和的背景下。据不完全统计&#xff0c;目前&#xff0c;全国共有国家级和省级园区2500余家&#xff0c;这些园区在贡献了全国50%工业产出的同时&#xff0c;其CO2排放量也占到了全国排放总量的30%以上。作…

31、shell循环

一、循环 循环&#xff1a;循环是一种重复执行一段代码的结构。只要满足循环的条件&#xff0c;会一直执行这个代码。 循环条件&#xff1a;在一定范围之内&#xff0c;按照指定的次数来执行循环。 循环体&#xff1a;在指定的次数内&#xff0c;执行的命令序列。只要条件满…

谷粒商城实战(035 k8s集群学习1-前置介绍)

Java项目《谷粒商城》架构师级Java项目实战&#xff0c;对标阿里P6-P7&#xff0c;全网最强 总时长 104:45:00 共408P 此文章包含第339p-第p342的内容 分布式高级篇总结 高可用集群 内容 k8s介绍 为什么使用k8s 组件 master组件 node&#xff08;节点&#xff09;组件 要部…

2.spring cloud gateway 源码编译

spring cloud gateway编译 1.编译 命令 mvn clean compile -U2.报错 报错信息 核心信息 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.1.2:check (checkstyle-validation) on project spring-cloud-gateway-mvc: Failed during …

【复旦邱锡鹏教授《神经网络与深度学习公开课》笔记】神经元和人工神经网络

神经元 生物神经元&#xff1a; 平时处于抑制状态&#xff0c;当接受信息量达到一定程度后进入兴奋状态。 人工神经元&#xff1a; 一个人工神经元大致有两个步骤&#xff1a; 一是收集信息&#xff0c;如上图中 x 1 , ⋯ , x d x_1,\cdots,x_d x1​,⋯,xd​表示神经元可…

Android AOSP定制去掉Google搜索栏

Android AOSP定制去掉Google搜索栏 1.前言&#xff1a; ​ 最近接触了Android系统定制的需求&#xff0c;感觉非常有意思&#xff0c;之前做过Launcher和串口&#xff0c;也自己安装过虚拟机&#xff0c;不过几年没用Linux系统了有点不习惯&#xff0c;Linux命令也不熟悉&…

Flink Sql:四种Join方式详解(基于flink1.15官方文档)

JOINs flink sql主要有四种连接方式&#xff0c;分别是Regular Joins、Interval Joins、Temporal Joins、lookup join 1、Regular Joins&#xff08;常规连接 &#xff09; 这种连接方式和hive sql中的join是一样的&#xff0c;包括inner join&#xff0c;left join&#xff…

【论文阅读】-- 时态合并树状图:时态标量数据的基于拓扑的静态可视化

时态合并树状图&#xff1a;时态标量数据的基于拓扑的静态可视化 摘要1 引言2 相关工作及背景介绍2.1 增广合并树2.2 (增强)合并树的可视化与跟踪2.3 特征跟踪2.4 数据线性化 3 时间合并树状图3.1 映射单个时间步长&#xff1a; R d → R R^d \rightarrow R Rd→R3.2 映射所有时…

Unity 设置窗口置顶超级详解版

目录 前言 一、user32.dll 1.什么是user32.dll 2.如何使用user32.dll 二、句柄Handle 1.句柄 2.句柄的功能 3.拿句柄的方法 三、窗口置顶 1.窗口置顶的方法 2.参数说明 3.使用方法 四、作者的碎碎念 前言 up依旧挑战全网讲解最详细版本~~ 本篇文章讲解的是unity…