R语言绘图-5-条形图(修改坐标轴以及图例等)
0. 说明:
1. 绘制条形图;
2. 添加文本并调整位置;
3. 调整x轴刻度的字体、角度及颜色;
4. 在导出pdf时,如果没有字体,该怎么解决问题;
1. 结果:

2. 代码:
library(ggplot2)
library(hrbrthemes)
library(sysfonts) ## 添加字体
library(showtext) ## 显示字体#font_add("Times New Roman", "/Users/zzy/fonts_R/Times_new_roman_bold.ttf") ## 手动添加字体 (字体名称,字体包路径)
pdf("/Users/zzy/Desktop/linshi.pdf", width = 6, height = 5) # 打开图形设备
showtext_begin() dt = data.frame(category = c("A", "B", "C", "D", "E", "F", "G", "H","I","J","K","L","M","N","O","P","Q"),value = c(10, -20, 15, 25, 30, 20, -10, 30,20, 5, -50,-10, 10, 3, 3, 2, -5),groups = c("pos","pos","pos","neg","neg","pos","neg","pos","pos","pos","pos","neg","pos","pos","neg","neg","pos"),text = c("*","","","","**","","","***","","","*","*","","*","*","",""))## 指定特定的顺序
dt$category = factor(dt$category, levels = c("D", "E", "F", "G", "H", "A", "B", "C","I","J","K","N","O","P","Q","L","M"))
## 添加调整位置的列
pos_list = c()
for (v in dt$value){if (v>0){pos_list = c(pos_list, 0.5)}else{pos_list = c(pos_list, 1)}
}
dt$pos_list = pos_list## 添加颜色列
dt$diycolor = c(rep("red",8), rep("blue", 3), rep("green", 6))## 绘图
ggplot(data=dt, aes(x=category, y=value, fill=groups))+geom_bar(stat = "identity")+ ## 绘制条形图,stat使用identity,显示原始数据geom_text(aes(label=text), color="black", size=8, vjust=dt$pos_list) + ## 添加并调整星号的位置scale_fill_manual(values = c("red", "blue"))+ylab("Value")+theme_classic()+theme(axis.text.x = element_text(angle=45, hjust = 1, vjust=1, color=dt$diycolor), ## 调整 x 坐标轴刻度,旋转,并分组赋予颜色axis.text = element_text(size=15, face ="bold"), ## x和y坐标轴刻度字体调整axis.title.x = element_blank(), ## 不显示x坐标轴标题axis.title.y = element_text(size=15, face="bold"),legend.position = "none") ## 不显示图例showtext_end()
dev.off()
相关文章:
R语言绘图-5-条形图(修改坐标轴以及图例等)
0. 说明: 1. 绘制条形图; 2. 添加文本并调整位置; 3. 调整x轴刻度的字体、角度及颜色; 4. 在导出pdf时,如果没有字体,该怎么解决问题; 1. 结果: 2. 代码: library(ggp…...
uniapp自定义权限菜单,动态tabbar
已封装为组件,亲测4个菜单项目可以切换, 以下为示例,根据Storage 中 userType 的 值,判断权限菜单 <template><view class"tab-bar pb10"><view class"tabli" v-for"(tab, index) in ta…...
ubuntu20.04配置解压版mysql5.7
目录 1.创建mysql 用户组和用户2.下载 MySQL 5.7 解压版3.解压 MySQL 文件4.将 MySQL 移动到适当的目录5.更改mysql目录所属的用户组和用户,以及权限6.进入mysql/bin/目录,安装初始化7.编辑/etc/mysql/my.cnf配置文件8.启动 MySQL 服务:9.建立…...
【js】vue获取document.getElementById(a)为null
需求 在菜单A页面点击某个元素携带id跳转到B详情页面,B页面获取该id元素的offsetTop, 并自动滚动到该元素处 问题 跳转到B详情页面, 在mounted获取到document.getElementById(a)为null, 因为整个详情页面是从后端获取来渲染的数据, 因此此时dom元素还未渲染出来,…...
系列六、Mybatis的一级缓存
一、概述 Mybatis一级缓存的作用域是同一个SqlSession,在同一个SqlSession中执行两次相同的查询,第一次执行完毕后,Mybatis会将查询到的数据缓存起来(缓存到内存中), 第二次执行相同的查询时,会…...
用中文编程工具给澳大利亚客户定制开发的英文版服装进销存软件应用实例
用中文编程工具给澳大利亚客户定制开发的英文版服装进销存软件应用实例 软件从2016年一直用到现在,而且开的分店也是安装的这个软件,上图是定制打印的格式。 该编程工具不但可以连接硬件,而且可以开发大型的软件。 编程系统化课程总目录及明…...
geoserver 的跨域问题怎么解决
文章目录 问题分析问题 geoserver 发生跨域问题报错 分析 要解决 GeoServer 的跨域问题,可以通过配置 GeoServer 的 web.xml 文件来启用跨域资源共享(CORS)。以下是一些简单的步骤来实现这一点: 找到 GeoServer 的安装目录下的 webapps/geoserver/WEB-INF 文件夹。在该文…...
SQL语法实践(一)
文章 原文链接 实践 CREATE TABLE friend(fid INT NOT NULL,NAME VARCHAR(10) NOT NULL,age INT NOT NULL,adress VARCHAR(10) )SHOW TABLES; SELECT * FROM friend; SELECT fid,NAME FROM friend;INSERT INTO friend VALUES(1,Jack,18,Tianjing); INSERT INTO friend VALUE…...
路由器如何设置IP地址
IP地址是计算机网络中的关键元素,用于标识和定位设备和主机。在家庭或办公室网络中,路由器起到了连接内部设备和外部互联网的关键作用。为了使网络正常运行,需要正确设置路由器的IP地址。本文将介绍如何设置路由器的IP地址,以确保…...
自动驾驶算法(一):Dijkstra算法讲解与代码实现
目录 0 本节关键词:栅格地图、算法、路径规划 1 Dijkstra算法详解 2 Dijkstra代码详解 0 本节关键词:栅格地图、算法、路径规划 1 Dijkstra算法详解 用于图中寻找最短路径。节点是地点,边是权重。 从起点开始逐步扩展,每一步为一…...
MS5910PA为行业内领先的可配置10bit到16bit分辨率的旋变数字转换器,可替代AD2S1210
MS5910PA 是一款可配置 10bit 到 16bit 分辨率的旋 变数字转换器。片上集成正弦波激励电路,正弦和余弦 允许输入峰峰值幅度为 2.3V 到 4.0V ,频率范围为 2kHz 至 20kHz 。 转换器可并行或串行输出角度和速度对应的 数字量。 MS5910PA 采…...
Random指定随机种子遇到的坑
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言指定随机种子出现的问题?总结 前言 业务中,之前有一个抽奖的需求,之初想让固定的奖品和玩家绑定一个固定的池子,…...
2023云栖大会:属于开发者的狂欢
就在10月31日这天,杭州云栖小镇热闹非凡,第八届云栖大会在杭州云栖小镇盛大举行。这次大会以“聚焦大模型与生成式AI”为主题,开发者们齐聚一堂,共同探讨前沿技术趋势,以及如何将这些技术应用到实际业务场景中。 当然…...
jsp 网上订餐Myeclipse开发mysql数据库web结构java编程计算机网页项目
选题目的 本设计课题为网上订餐系统设计与实现,提供无纸化点餐、支付,实现点餐快捷,方便管理。餐厅电子化是目前的潮流和趋势,大多数企业都将公司内部运营流程电子化。网上订餐管理系统应运而生,能够有效提高公司的管…...
优化大表分页查询性能:大表LIMIT 1000000, 10该怎么优化?
在处理大数据量的MySQL表时,我们经常会遇到一个问题:当我们尝试使用LIMIT语句进行分页查询时,性能会随着偏移量的增加而显著下降。例如,SELECT * FROM table LIMIT 1000000, 10 这样的查询可能会非常慢。那么,我们应该…...
ubuntu PX4 vscode stlink debug设置
硬件 stlink holybro debug板 pixhawk4 安装openocd 官方文档,但是第一步安装建议从源码安装,bug少很多 github链接 编译安装,参考 ./bootstrap (when building from the git repository)./configure [options]makesudo make install安装后…...
Flask的一种启动方式和三种托管方式
1. 原生启动 Flask 支持使用原生的 app.run() 方法来启动应用程序。这种方法是最简单、最基本的启动方式,适用于开发环境和小型应用程序。 from flask import Flaskapp Flask(__name__)app.route(/) def hello_world():return Hello, World!if __name__ __main__…...
cudnn too short
原因是libcudnn.so为软链接,相当于快捷键,但是没有映射到真正的libcudnn.so.8.9.5上 cd /usr/local/cuda-11.6/lib64 ln -s libcudnn.so.8.9.5 libcudnn.so.8...
01、SpringBoot + MyBaits-Plus 集成微信支付 -->项目搭建
目录 SpringBoot MyBaits-Plus 集成微信支付 之 项目搭建1、创建boot项目2、引入Swagger作用:2-1、引入依赖2-2、写配置文件进行测试2-3、访问Swagger页面2-4、注解优化显示 3、定义统一结果作用:3-1、引入lombok依赖3-2、写个统一结果的类-->RR类的…...
Linux 性能调优之网络优化
写在前面 考试整理相关笔记分享一些 Linux 中网络内核参数调优的笔记理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃…...
如何验证代理IP纯净度?2026年IP检测与优化指南
一个“脏”IP,如同一个有问题的身份证,它可能会让你的账户面临高风险,甚至被平台封禁。为了避免这种情况,验证和优化代理IP的纯净度成为了不可忽视的环节。本文将为你提供一套2026年最新的代理IP纯净度检测与优化方案,…...
Vivado里AXI总线到底要不要用SmartConnect?一个工程实例帮你彻底搞懂
Vivado中AXI总线SmartConnect的实战抉择:从工程现象到本质解析 在FPGA开发中,AXI总线的灵活性和复杂性常常让初学者陷入两难——特别是当Vivado工具给出多种连接选项时。SmartConnect这个看似简单的IP核,到底该不该用?为什么有些…...
智慧果园黄瓜识别分割数据集labelme格式1002张1类别
数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件)图片数量(jpg文件个数):1002标注数量(json文件个数):1002标注类别数:1标注类别名称:["cucumber"]每个类别标注的框数:c…...
用C语言搞定PTA数据结构7-1天梯地图:迪杰斯特拉算法实战与避坑指南
从零实现PTA天梯地图:双权重迪杰斯特拉算法全解析 当面对PTA数据结构7-1天梯地图这类双权重图的最短路径问题时,许多初学者会陷入算法选择的困境。本文将彻底拆解如何用C语言实现这一经典题目,不仅教你写出能AC的代码,更重要的是掌…...
工业物联网主板布局设计:从i.MX28x核心到无线模块的硬件规划
1. 项目概述:从一块板卡看工业物联网的“骨架”拿到一块名为“IoT-A28LI”的主板,标题里还带着“i.MX28x系列”和“无线工控板”这样的关键词,这立刻让我这个在工业控制和嵌入式领域摸爬滚打多年的老工程师来了兴致。这不仅仅是一块电路板&am…...
零成本构建自己的视频切割数据集:我是如何用FFmpeg和TransNet V2训练专属模型的
零成本构建视频切割数据集:FFmpeg与TransNet V2实战指南 在视频内容爆炸式增长的今天,自动检测视频中的镜头切换点(cuts)和渐变过渡(dissolves)成为内容分析的基础需求。无论是影视制作团队需要自动化剪辑&…...
统信UOS/麒麟KYLINOS用户看过来:除了Termius,这款开源免费的SSH工具electerm更香!
国产操作系统用户的SSH工具新选择:electerm深度体验报告 对于统信UOS和麒麟KYLINOS用户而言,远程服务器管理是日常工作中的高频需求。Termius作为老牌SSH工具确实表现不俗,但今天我们要探讨的electerm,或许能给你带来意想不到的惊…...
从迷宫到N皇后:用Python手把手带你吃透BFS和DFS(附Educoder通关代码)
从迷宫到N皇后:用Python手把手带你吃透BFS和DFS(附Educoder通关代码) 在算法学习的道路上,BFS(广度优先搜索)和DFS(深度优先搜索)就像是一对性格迥异的双胞胎。一个喜欢稳扎稳打层层…...
(最新版)GitGitHub实操图文详解教程(10)—SSH
版权声明 本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl 1. 应用场景 前面几课已经完成了本地Git基础操作:先通过git init初始化仓库,再用git status查看状态,用git add把修改加入暂存区,用git commit创建本地提交,最后用git log查看提交历史。到…...
终极AI自瞄系统:5分钟搭建你的智能游戏瞄准助手
终极AI自瞄系统:5分钟搭建你的智能游戏瞄准助手 【免费下载链接】RookieAI_yolov8 基于yolov8实现的AI自瞄项目 AI self-aiming project based on yolov8 项目地址: https://gitcode.com/gh_mirrors/ro/RookieAI_yolov8 还在为游戏中的精准瞄准而烦恼吗&…...
