R语言绘图:绘制横向柱状图

代码主要实现: 对数据进行排序,并且相同分组的数据会有相同的颜色。最后,绘制横向柱状图。

# 加载ggplot2包
library(ggplot2)# 示例数据,假设有三列:Group, Variable, Value
data <- data.frame(Group = factor(c('A', 'B', 'A', 'C', 'B', 'C', 'A', 'B', 'C')),Variable = c('Var10', 'Var12', 'Var23', 'Var54', 'Var15', 'Var76', 'Var27', 'Var38', 'Var19'),Value = c(5, 3, 6, 2, 8, 7, 4, 1, 9)
)# 按Value排序,确保绘图时按值大小顺序排列
data <- data[order(data$Value),]# 更新Variable为按Value排序的因子,确保绘图时Y轴按Value的大小顺序排列
data$Variable <- factor(data$Variable, levels = unique(data$Variable))data$Group <- factor(data$Group,levels = c('A', 'B', 'C'),labels = c('climate', 'topography', 'Soil'))# 绘制横向柱状图
ggplot(data, aes(x = Variable, y = Value, fill = Group)) + geom_bar(stat = "identity", position = "dodge") +coord_flip() +  # 使柱状图横向显示theme_minimal() +  # 使用简洁的主题scale_fill_brewer(palette = "Set1") +  # 根据分组使用不同颜色labs(x = "Variable", y = "Value", title = "按Value大小顺序排列的横向柱状图", fill = "Group")+theme(text = element_text(size = 14, family = "serif"),axis.ticks.length = unit(0.2, "cm"),  # 设置刻度线的长度axis.ticks = element_line(size = 1),  # 设置刻度线的粗细plot.title = element_text(size = 14, colour = "black", hjust = 0.5),axis.title.y = element_text(size = 14, color = "black", vjust = 1.9, hjust = 0.5, angle = 90),legend.title = element_text(color = "black", size = 14),legend.text = element_text(color = "black", size = 14),axis.text.x = element_text(size = 14, color = "black", vjust = 0.5, hjust = 0.5, angle = 0),axis.text.y = element_text(size = 14, color = "black", vjust = 0.5, hjust = 1, angle = 0),panel.border = element_rect(color = "black", size = 1, fill = NA),# panel.grid.major = element_blank(),# panel.grid.minor = element_blank(),axis.line = element_line(colour = "black", size = 2),axis.line.x = element_line(colour = "black", size = 0),axis.line.y = element_line(colour = "black", size = 0))

结果展示:
在这里插入图片描述

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

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

相关文章

探索HTTP协议的世界 | 从基础到高级应用,原理与实践相结合(请求篇)

从基础到高级应用&#xff0c;原理与实践相结合 什么是Http历代Http协议主要特点格式和URL协议内容请求行格式如下请求方法简单案例 消息报头报头域的格式HTTP消息报头类型普通报头优化方向报头&#xff08;缓存&#xff09;Cache-Control的选项其他相关的缓存报头 请求报头Acc…

无惧烈日!看小米SU7的防晒杀手锏

小米SU7&#xff0c;为颜值设计&#xff0c;更为体验设计。 其中&#xff0c;女性车主占比近30%&#xff0c;算上给太太/女朋友、姐姐、妹妹等亲友买的&#xff0c;实际女车主预计占比是40%甚至50%。 为啥呢&#xff1f;因为小米SU7好看、防晒、收纳&#xff0c;丰富优雅。 小米…

git工具上传文件超过100MB解决方法

Github 上传超过100M的大文件 - 简书 (jianshu.com) 看到一个不错的贴子。 29660DESKTOP-CAB6SQB MINGW64 /d/predict-system $ git init Initialized empty Git repository in D:/predict-system/.git/29660DESKTOP-CAB6SQB MINGW64 /d/predict-system (master) $ git lfs tr…

基于java+springboot+vue实现的居家养老健康管理系统(文末源码+Lw)23-313

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装智慧社区居家养老健康管理系统软件来发挥其高效地信息处理…

ubuntu下man手册 查不到 pthread_mutex_lock等系列函数用法的问题

问题 在ubuntu系统中无法man到 pthread_mutex_lock pthread_mutex_trylock pthread_mutex_unlock等函数 $ man pthread_mutex_lock 没有 pthread_mutex_lock 的手册页条目解决方式 输入以下命令 sudo apt-get install manpages-posix manpages-posix-dev 然后输入密码 再次m…

主从同步优化

2.3.主从同步优化 主从同步可以保证主从数据的一致性&#xff0c;非常重要。 可以从以下几个方面来优化Redis主从就集群&#xff1a; 在master中配置repl-diskless-sync yes启用无磁盘复制&#xff0c;避免全量同步时的磁盘IO。Redis单节点上的内存占用不要太大&#xff0c;…

SQLite 在Android安装与定制方案(十七)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite超详细的编译时选项&#xff08;十六&#xff09; 下一篇&#xff1a;SQLite Android 绑定&#xff08;十八&#xff09; 安装 有三种方法可以将 SQLite Android 绑定添加到应用程序&#xff1a; 1、通过…

计算机网络----第十天

配置vlan 广播风暴的含义&#xff1a; 含义&#xff1a;设备发出的广播帧在广播域中传播&#xff0c;占用网络带宽&#xff0c;降低设备性能 隔离广播的方式&#xff1a; 方式&#xff1a;用路由器来隔离广播 用VLN隔离广播 vlan的定义&#xff1a; 定义&#xff1a;虚拟…

单调栈用法

文章目录 1. 单调栈1.1 理解单调栈&#xff08;模板&#xff09;1.2 每日温度1.3 子数组的最小值之和1.4 柱状图中最大的矩形1.5 最大矩形1.6 最大宽度坡1.7 去除重复字母 1. 单调栈 单调栈经典的用法&#xff1a; 对每个位置都求&#xff1a; 当前位置的左侧比当前位置的数…

openGauss_5.1.0 企业版快速安装及数据库连接:单节点容器化安装

目录 &#x1f4da;第一章 官网信息&#x1f4da;第二章 安装&#x1f4d7;下载源码&#x1f4d7;下载安装包&#x1f4d7;修改版本&#x1f4d7;解压安装包&#x1f4d7;运行buildDockerImage.sh脚本&#x1f4d7;docker操作&#x1f4d5;查看docker镜像&#x1f4d5;启动dock…

013_NaN_in_Matlab中的非数与调试方法

Matlab中的非数与调试方法 是什么&#xff1f; Matlab编程&#xff08;计算器使用&#xff09;中经常有个错误给你&#xff0c;这句话里可能包含一个关键词NaN。大部分学生都有过被 NaN 支配的痛苦记忆。 NaN 是 Not a Number 的缩写&#xff0c;表示不是一个数字。在 Matla…

负荷预测 | Matlab基于TCN-GRU-Attention单输入单输出时间序列多步预测

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于TCN-GRU-Attention单输入单输出时间序列多步预测&#xff1b; 2.单变量时间序列数据集&#xff0c;采用前12个时刻预测未来96个时刻的数据&#xff1b; 3.excel数据方便替换&#xff0c;运行环境matlab20…

R: 支持向量机(Support Vector Machine,简称SVM)

在数据科学和机器学习领域中&#xff0c;支持向量机&#xff08;Support Vector Machine&#xff0c;简称SVM&#xff09;是一种强大的监督学习算法&#xff0c;常用于分类和回归分析。它的优点之一是可以适用于复杂的数据集&#xff0c;并且在高维空间中表现良好。在本文中&am…

MindOpt APL向量化建模语法的介绍与应用(2)

前言 在数据科学、工程优化和其他科学计算领域中&#xff0c;向量和矩阵的运算是核心组成部分。MAPL作为一种数学规划语言&#xff0c;为这些领域的专业人员提供了强大的工具&#xff0c;通过向量式和矩阵式变量声明以及丰富的内置数学运算支持&#xff0c;大大简化了数学建模…

316_C++_xml文件解析成map,可以放到表格上 + xml、xlsx文件互相解析

xml文件例如&#xff1a; <?xml version"1.0" encoding"UTF-8" standalone"yes"?> <TrTable> <tr id"0" label"TR_PB_CH" text"CH%2"/> <tr id"4" label"TR_PB_CHN"…

Day:007(2) | Python爬虫:高效数据抓取的编程技术(scrapy框架使用)

Scrapy 数据的提取 Scrapy有自己的数据提取机制。它们被称为选择器。我们可以通过使用的选择器re、xpath、css提取数据 提示 不用再安装与引入Xpath,BS4 获得选择器 Response对象获取 正常使用 response.selector.xpath(//span/text()).get() response.selector.css(span::…

开发有哪些常见陷阱?

引言 在当今数字化时代&#xff0c;软件开发已成为推动科技进步和商业发展的重要引擎。然而&#xff0c;软件开发并非一帆风顺&#xff0c;其中蕴藏着许多陷阱和挑战。如何避免这些陷阱&#xff0c;提高软件开发的效率和质量&#xff0c;成为开发者们面临的重要问题 本文将深…

原型模式:复制对象的智能解决方案

在软件开发过程中&#xff0c;对象的创建可能是一个昂贵的操作&#xff0c;特别是当对象的初始化包括从数据库加载数据、进行IO操作或进行复杂计算时。原型模式是一种创建型设计模式&#xff0c;它通过复制现有的实例来创建新的对象实例&#xff0c;从而避免了类初始化时的高成…

单片机方案 发声毛绒小黄鸭

随着科技的不断进步&#xff0c;智能早教已经成为了新时代儿童教育的趋势。智能早教玩具&#xff0c;一款集互动陪伴、启蒙教育、情感培养于一身的高科技产品。它不仅能陪伴孩子成长&#xff0c;还能在游戏中启迪智慧&#xff0c;是家长和孩子的理想选择。 酷得电子方案开发特…

redis 数据迁移到rds2214(TongRDS-2.2.1.3.Load版 by lqw)

​ 文章目录 一.备份redis文件 vi redis.conf &#xff0c;看看有没有这两行设置&#xff0c;有的话改成跟下面的一致&#xff1a; appendonly yes appendfilename “appendonly.aof” 之后连接redis客户端&#xff0c;输入INFO persistence&#xff0c;如图所示即为开启成功…