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

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

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

相关文章

文本批量处理,一键转换HTML文件编码,释放您的繁琐工作!

亲爱的用户,您是否曾经为需要手动转换HTML文件编码而耗费大量时间和精力而感到困扰?现在,我们为您提供了一款强大的文本批量处理工具!让您一键将HTML文件编码进行转换,轻松释放您的繁琐工作! 首先&#xf…

【带货案例】从美区十月带货达人身上寻找商品爆款秘诀!

2023只剩下最后两个月,年底也是各大商家冲刺卖货的黄金时期! 带货过程中的一个重要环节即【达人营销】,背受跨境卖家关注。 下面选取美区十月带货达人TOP3,分析其带货秘诀。 据超店有数达人榜单显示:美区十月带货达人…

Qt中正确的设置窗体的背景图片的几种方式

Qt中正确的设置窗体的背景图片的几种方式 QLabel加载图片方式之一Chapter1 Qt中正确的设置窗体的背景图片的几种方式一、利用styleSheet设置窗体的背景图片 Chapter2 Qt的主窗口背景设置方法一:最简单的方式是通过ui界面来设置,例如设置背景图片方法二 &…

leetCode 198.打家劫舍 动态规划入门:从记忆化搜索到递推

leetCode 198.打家劫舍 198. 打家劫舍 - 力扣(LeetCode) 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一…

LuaHttp库写的一个简单的爬虫

LuaHttp库是一个基于Lua语言的HTTP客户端库,可以用于爬取网站数据。与Python的Scrapy框架类似,LuaHttp库也可以实现网站数据的抓取,并且可以将抓取到的数据保存到数据库中。不过需要注意的是,LuaHttp库并不像Scrapy框架那样具有完…

3 数据库系统核心知识点

一、事务 先回顾一下事务的概念: 事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚ACID 1. 原子性(Atomicity) 1.事务被视为不可分割的最小单元,事务的所有操作要么全部提交成…

pytorch dropout 置零 + 补偿性放缩

一句话概括:(训练过程中)Dropout 操作 随机置零 非置零元素进行后补偿性放缩。以保证dropout前后数据scale不变。 详细解释(来自chatgpt): 在 PyTorch 中,dropout 的操作不仅仅是将某些元素置零。为了确保期望输出在训练和测试…

Java NIO 编程

1. 简介 Java NIO 是 JDK 1.4 中引入的新的 IO 方式,它主要包含 Buffer、Channel、Selector 这三个核心的组件,它与传统 IO 的区别如下: NIO IO 面向缓冲 面向流 同步非阻塞 同步阻塞 多路复用(选择器) 无 1.1…

php语言

文章目录 常用命令Apache命令php命令 常用命令 Apache命令 查看版本号 D:\cjm\soft-work\phpStudy\phpstudy_pro\Extensions\Apache2.4.39\bin>httpd -v检测运行环境 httpd -tphp命令 PHP版本号 需要进入php目录 php -v

人工智能-深度学习计算:层和块

我们关注的是具有单一输出的线性模型。 在这里,整个模型只有一个输出。 注意,单个神经网络 (1)接受一些输入; (2)生成相应的标量输出; (3)具有一组相关 参数…

我的创作纪念日--AI小怪兽打怪进阶路

目录 自我介绍 时间轴 收获 日常 成就 憧憬 自我介绍 希望您持续关注AI小怪兽的不断进化、打怪!!! AI小怪兽:1)YOLO骨灰级玩家,YOLOv5、v7、v8优化创新,复现计算机视觉顶会,…

k8s的概念

概念 它是一种开源的容器编排平台,用于自动化部署,扩展和管理容器化的应用程序,它提供了一种容器编排和管理的方式,可以帮助开发人员更轻松地管理容器化的的应用程序,并且提供了一种跨多个主机的自动化部署和管理机制…

[python 刷题] 2866 Beautiful Towers II

[python 刷题] 2866 Beautiful Towers II 题目如下: You are given a 0-indexed array maxHeights of n integers. You are tasked with building n towers in the coordinate line. The ith tower is built at coordinate i and has a height of heights[i]. A co…

Win YAPI + Jenkins 实现接口自动化测试

自动化测试 传统的接口自动化测试成本高,大量的项目没有使用自动化测试保证接口的质量,仅仅依靠手动测试,是非常不可靠和容易出错的。 为了解决这个问题,使用YAPI接口自动化测试功能,只需要配置每个接口的入参和对 RE…

windows docker desktop 更换镜像 加速

最近 docker hub 访问不了; 经过研究 可以通过添加 代理镜像网址 添加代理服务器的方式 实现完美访问 1添加镜像网站 修改成国内镜像地址就能享受到飞一般的速度,但有一个问题,部分站点镜像不全或者镜像比较老,建议使用多个镜像站。 https…

人工智能与脑机接口:开启人机融合的新时代

人工智能与脑机接口:开启人机融合的新时代 随着人工智能(AI)技术的飞速发展,我们正与一个全新的时代相遇——人工智能与脑机接口相融合的时代。这个时代将带来前所未有的变革,让人类与机器的交互方式发生根本性的改变。…

React的useEvent 和 ahooks 的 useMemorizedFn 的深度分析和对比

父组件 const TestParent: React.FC<any> () > {const [State, setState] useState(0);const changeFun useCallback(() > {console.log(useCallback closure 里的 State, State);}, [State]);const changeFun_useEvent useEvent(() > {console.log(useEv…

新工业革命?基于机器视觉技术分拣机器人的未来与发展

原创 | 文 BFT机器人 01 分拣机器人的应用 基于机器视觉技术的分拣机器人可以将工人从繁重的劳动中解放出来&#xff0c;大大提高了分拣的效率&#xff0c;因此被广泛地应用于食品、物流以及煤矿等多个行业。 1.1 分拣机器人在水果分拣中的应用 随着农业科技的发展和人民生活…

MetaAI提出全新验证链框架CoVE,大模型也可以通过“三省吾身”来缓解幻觉现象

​ 论文名称&#xff1a; Chain-of-Verification Reduces Hallucination in Large Language Models 论文链接&#xff1a; https://arxiv.org/abs/2309.11495 曾子曰&#xff1a;“吾日三省吾身” --出自《论语学而》 时至今日&#xff0c;生成幻觉&#xff08;hallucination&…

curl(三)传递数据

一 基础铺垫 ① form表单回顾 关注&#xff1a; from表单涉及method、content-type enctype和Content-type有什么关系 ② Content-Type 思考&#xff1a;数据传输格式和解析类型不一致导致哪些特性? ③ application/x-www-form-urlencoded 1、GET方式 2、POST方式 ④ …