R 语言学习 case3:柱状图(ggchart)

主要涉及到对图的优化,使用ggchart工具包

ggchart 链接:https://thomas-neitmann.github.io/ggcharts/index.html

step1: 安装工具包

install.packages("ggcharts")
install.packages("tidytext")

step2: 导入工具包

library(dplyr)
library(ggplot2)
library(ggcharts)
library(tidytext)

step3:使用数据

data("biomedicalrevenue")

step4: 绘图

plot <- 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")
  1. biomedicalrevenue 是一个数据框,其中包含了生物医药公司的营收信息。

  2. %>% 是管道操作符,用于将前一个步骤的结果传递给下一个步骤。

  3. filter(year %in% c(2012, 2015, 2018)) 用于筛选出包含在2012年、2015年和2018年的数据。

  4. group_by(year) 将数据按照年份进行分组。

  5. top_n(10, revenue) 选取每个年份中营收前10的公司。

  6. ungroup() 取消分组,确保后续的操作不受之前的分组影响。

  7. mutate(company = tidytext::reorder_within(company, revenue, year)) 重新排序公司,以确保每个年份中的公司按照营收从高到低排列。

  8. ggplot(aes(company, revenue)) 创建一个 ggplot 对象,设置 X 轴为公司名称,Y 轴为营收。

  9. geom_col() 添加堆积柱状图层。

  10. coord_flip() 将坐标轴翻转,使得柱状图变为横向。

  11. tidytext::scale_x_reordered() 根据重新排序的结果调整 X 轴的顺序。

  12. facet_wrap(vars(year), scales = "free_y") 按照年份进行分面,每个年份的柱状图分别显示,Y 轴的刻度独立。

整体来说,这段代码使用 ggplot2 包创建了一个生物医药公司营收的横向堆积柱状图,展示了2012年、2015年和2018年每年的前10位公司。

在这里插入图片描述

step5: 优化 v2

plot <- biomedicalrevenue %>%filter(year %in% c(2012, 2015, 2018)) %>%bar_chart(x = company, y = revenue, facet = year, top_n = 10)
  • 使用 bar_chart 绘制柱状图

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web渗透安全学习笔记:2、HTML基础知识

目录 前言 HTML的标题 段落链接与插入图片 HTML元素 HTML属性 HTML头部 HTML与CSS HTML与JavaScript 表格与列表 HTML区块 布局 HTML表单 HTML与数据库 音频与视频 HTML事件 前言 HTML的标题 <!DOCTYPE html> <html> <head> <meta chars…

Appium 环境配置

Appium 是一个开源的、跨平台的测试框架&#xff0c;可以用来测试 Native App、混合应用、移动 Web 应用&#xff08;H5 应用&#xff09;等&#xff0c;也是当下互联网企业实现移动自动化测试的重要工具。Appium 坚持的测试理念&#xff1a; •无需用户对 App 进行任何修改或…

[嵌入式软件][入门篇][仿真平台] STM32F103实现LED、按键

上一篇&#xff1a;[嵌入式软件][入门篇] 搭建在线仿真平台(STM32) 文章目录 一、点亮LED灯(1) 简介(2) 示例代码(3) 仿真效果&#xff08;闪烁&#xff09; 二、按键检测(1) 简介1. 按键原理2. 检测按键端口3. 消抖 (2) 示例代码1 &#xff08;按下点亮&#xff0c;松开熄灭&a…

网络安全等级保护测评规划与设计

笔者单位网络结构日益复杂&#xff0c;应用不断增多&#xff0c;使信息系统面临更多的风险。同时&#xff0c;网络攻防技术发展迅速&#xff0c;攻击的技术门槛随着自动化攻击工具的应用也在不断降低&#xff0c;勒索病毒等未知威胁也开始泛滥。基于此&#xff0c;笔者单位拟进…

k8s资源介绍

Kubernetes架构图 Kubernetes系统用于管理分布式节点集群中的微服务或容器化应用程序&#xff0c;并且其提供了零停机时间部署、自动回滚、缩放和容器的自愈&#xff08;其中包括自动配置、自动重启、自动复制的高弹性基础设施&#xff0c;以及容器的自动缩放等&#xff09;等…

山西电力市场日前价格预测【2024-01-21】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2024-01-21&#xff09;山西电力市场全天平均日前电价为266.42元/MWh。其中&#xff0c;最高日前电价为359.17元/MWh&#xff0c;预计出现在08:15。最低日前电价为0.00元/MWh&#xff0c;预计出…

查询指定日期是否为法定工作日的服务接口

在现代社会中&#xff0c;人们的工作与生活节奏日益加快&#xff0c;为了更好地规划工作与休息时间&#xff0c;在开发应用软件时&#xff0c;通过查询指定日期是否为法定工作日的服务接口是一个非常有用的功能。本文将介绍一个API接口&#xff0c;可以根据国家的放假安排来判断…

【大数据Hive】hive 行列转换使用详解

目录 一、前言 二、使用场景介绍 2.1 使用场景1 2.2 使用场景2 三、多行转多列 3.1 case when 函数 语法一 语法二 操作演示 3.2 多行转多列操作演示 四、多行转单列 4.1 concat函数 语法 4.2 concat_ws函数 语法 4.3 collect_list函数 语法 4.4 collect_set函…

Python学习之路——模块

一、什么是模块 python模块&#xff08;Module&#xff09;是一个Python文件&#xff0c;以.py结尾。模块能定义函数、类和变量&#xff0c;模块里也能包含可执行的代码。 二、模块的作用 Python中有很多各种不同的模块&#xff0c;每一个模块都可以帮助我们实现一些功能&am…

SpringBoot项目中简单使用虚拟机Redis

目录 步骤大致如下&#xff1a; 一.在pom文件中加入redis依赖 二.在虚拟机上打开我们下载好的Redis。开启服务器端并获取虚拟机ip地址 三.在项目配置。 四&#xff1a;使用redis 测试 redis是一个以键值对存储的NoSQL。被数百万开发人员用作缓存、矢量数据库、文档数据库、…

电力能源实景三维可视化合集,智慧电网数字孪生

电力能源是现代社会发展和运行的基石&#xff0c;渗透于工业、商业、农业、家庭生活等方方面面&#xff0c;它为经济、生活质量、环境保护和社会发展提供了巨大的机会和潜力。图扑软件应用自研 HT for Web 强大的渲染引擎&#xff0c;助力现代化的电力能源数字孪生场景&#xf…

Pytest 测试框架与Allure 测试报告——Allure2测试报告-L3

目录&#xff1a; allure2报告中添加附件-图片 Allure2报告中添加附件Allure2报告中添加附件&#xff08;图片&#xff09;应用场景Allure2报告中添加附件&#xff08;图片&#xff09;-Python代码示例&#xff1a;allure2报告中添加附件-日志 Allure2报告中添加附件&#xff…