R语言ggplot2 | 修改ggplot主题

news2024/9/23 7:29:08

📋文章目录

  • 图形设置(settings)
  • 面板设置和背景(Panel&Background)
  • 坐标轴设置(Axis)
  • 标题和标签(Title&label)
  • 图例(Legend)
  • 副标题和图注(Subtitle&Caption)

   与其他软件相比,R语言善于绘图,并且绘图质量极高,其中ggplot2作为R语言绘图神器更是被频繁使用。ggplot2绘图系统拥有图例调整系统、主题调整系统、标签调整系统。但是在实际应用中,我们常因为美化图形主题而感到麻烦,这里面主要是因为记不住复杂的主题调整参数。因此就想,有没有一个能够像Excel那样使用鼠标进行傻瓜式的点点点就可以修改图形。今天在这里向大家介绍一个简单快捷的方法—— ggThemeAssist包

在实际的ggplot使用中,主题参数众多,我们在ggplot2网站可以看到theme的参数众多且复杂。
在这里插入图片描述
ggThemeAssist是依赖于shiny,生成交互式界面,对ggplot绘制的图形进行修改,并实施预览修改的效果,最后结束会生成美化图形的代码

我们用一个例子演示一下:

# install.packages("ggThemeAssist")
library(ggplot2)
library(ggThemeAssist)
# 使用部分 diamonds生成一个点图示例
gg <- ggplot(diamonds[1:200,], aes(x = depth, y = table, 
         colour = as.factor(cut))) +geom_point();gg
# 开始调整主题
ggThemeAssistGadget(gg)

可以看到打开一个窗口,共分为3部分,上部为图形预览窗口;中间为参数调整;下部有6个选项,分别是设置、面板设置和背景、坐标轴设置、标题和标签、图例、副标题和图注。这里基本覆盖了常用的图形美化的参数。

在这里插入图片描述

图形设置(settings)

可修改图形的长宽比:
在这里插入图片描述

面板设置和背景(Panel&Background)

修改图形背景、面板背景与网格线。其中图形背景是整个图形的背景色,示例图中为黄色区域
在这里插入图片描述

坐标轴设置(Axis)

修改坐标轴标签的字体、大小、角度等

在这里插入图片描述

标题和标签(Title&label)

可自行输入图形标题、横纵坐标轴标题,改变点大小和形状等
在这里插入图片描述

图例(Legend)

修改图例的位置、角度和颜色等,注意本例子中图例的标题修改是在4标题和标签中的colour选项,因为选则了cut作为分类变量。
在这里插入图片描述

副标题和图注(Subtitle&Caption)

可自行添加副标题和图形注释
在这里插入图片描述
在所有参数调整完后,点击右上角的Done即可在RStudio中生成刚刚在交互式界面修改图形的代码,那么接着在RStudio中运行代码即可得到和在交互式界面修改后的图形。

在这里插入图片描述
注意这个包只针对使用ggplot2所绘制的图形。
如果想要更好地掌握的ggplot,那么使用代码进行图形美化是不可避免的,还是要练习敲代码。

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

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

相关文章

静态和动态NAT,NAPT配置简介

一.类型介绍 二.功能 1.将大量的私有地址转换为公有地址(节约IP地址) 2.将一个IP地址转换为另一个IP地址(增加内部网络设备的安全性) 三.缺陷&#xff1a; 1.很消耗网络设备资源 2.破坏数据端到端传输&#xff0c;安全策略实施受限 四.配置命令 1.静态模式&#xff08;…

押注零知识证明赛道,Conflux与ACCSEAL达成战略合作

Conflux与新兴零知识证明加速芯片制造公司ACCSEAL宣布达成战略合作&#xff0c;携手共同布局零知识证明&#xff08;Zero-Knowledge Proof&#xff0c;简称ZKP&#xff09;赛道&#xff0c;探索可应用于Conflux生态系统的最先进零知识证明技术和解决方案。早在2022年3月&#x…

白话文讲计算机视觉-第九讲-霍夫变换之直线检测

霍夫变换是1962年由霍夫发明的一种检测图像中直线、圆等形状的方法。后来1972年经过Richard O. Duda和Peter E. Hart改进&#xff0c;形成了今天的霍夫变换算法。 今天我就带大家了解了解霍夫变换之直线检测是怎么特么的一回事。 1.霍夫变换 说到霍夫变换&#xff0c;首先就得…

C++——类和对象

作者&#xff1a;几冬雪来 时间&#xff1a;2023年4月21日 内容&#xff1a;C类和对象 目录 前言&#xff1a; 1.inline函数&#xff1a; 2.auto&#xff08;补充&#xff09;&#xff1a; 3.类&#xff1a; 4.类的访问限定符及封装&#xff1a; 5.封装&#xff1a;…

从零开始下载torch+cu(无痛版)

从零开始下载torchcu&#xff08;无痛版&#xff09; 文章目录 从零开始下载torchcu&#xff08;无痛版&#xff09;一&#xff0c;前言二&#xff0c;配置torch的GPU版具体步骤1,查看电脑安装的Cuda版本2&#xff0c;在pytoch官网检索待下载whl包名以及版本3&#xff0c;下载指…

playwright实战篇(tx、ali225)

人人都笑金角&#xff0c;人人都是金角推荐文章&#xff1a; 1、https://playwright.dev/python/docs/api/class-playwright //官方文档 2、https://cuiqingcai.com/36045.html //崔庆才教程 3、https://github.com/qqq732004709/ //实战参考 4、https://www.cnblogs.com/ca…

asp.net mvc网上书店购物系统(带项目文档)

c#_asp.net mvc网上书店购物系统&#xff08;带项目文档&#xff09; mvc网上书店购物系统 主要技术&#xff1a; 基于asp.net mvc架构和sql server数据库&#xff0c;并采用EF实体模型开发。 功能模块&#xff1a; 系统包括前台和后台两个部分&#xff0c;用户可在前台浏览…

KL散度和交叉熵的对比介绍

KL散度&#xff08;Kullback-Leibler Divergence&#xff09;和交叉熵&#xff08;Cross Entropy&#xff09;是在机器学习中广泛使用的概念。这两者都用于比较两个概率分布之间的相似性&#xff0c;但在一些方面&#xff0c;它们也有所不同。本文将对KL散度和交叉熵的详细解释…

学系统集成项目管理工程师(中项)系列03_职业道德规范

1. 职业道德 1.1. 涵盖了从业人员与服务对象、职业与职工、职业与职业之间的关系 1.2. 是所有从业人员在职业活动中应该遵循的行为准则 1.3. 包括爱岗敬业、诚实守信、办事公道、服务群众和奉献社会 2. 道德 2.1. 通常与法律相对应&#xff0c;具有非强制性 2.2. 指人们依…

《花雕学AI》26:多维度了解ChatGPT思维链提示的原理、方法、使用和发展的22个问题

早上5点起床&#xff0c;没有去打羽毛球&#xff0c;打开电脑&#xff0c;漫无边际的浏览&#xff0c;偶然发现了一个提法&#xff1a;ChatGPT思维链提示。于是&#xff0c;我使用与ChatGPT同源技术的新Bing引擎&#xff08;GPT-4&#xff09;&#xff0c;来进行搜索与了解相关…

基于在线优化的快速模型预测控制仿真Fast_MPC(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 ​模型预测控制(Model Predictive Control,MPC)是一种基于在线计算的控制优化算法,能够统一处理带约束的多参数优化控制问题。…

ESP8266 最简单的OTA升级模式

最近在做一个项目时有OTA的需求&#xff0c;之前是通过arduino自带的ota模式&#xff0c;虽说也可以用&#xff0c;但操作比较麻烦&#xff0c;昨晚在网上搜索相关教程&#xff0c;发现了使用巴法云来实现ota的功能&#xff0c;现分享如下 1、首先要让你的设备联网 2、注册巴法…

jsp基础语法

前提 安装jdk参考 下载tomcat解压&#xff0c;运行tomcat不报错即可 第一个jsp程序 切换到webapps下ROOT文件夹下&#xff0c;将除了WEB-INF文件外的全部内容删除&#xff0c;新建index.jsp index.jsp内容如下 <!DOCTYPE html> <html lang"zh-CN"&g…

React Proxy 详细流程与配置方式(webpack、setupProxy.js、package.json)

一、 package.json 配置方式 全部以 GET 请求为例&#xff0c;每次修改配置后&#xff0c;重启项目&#xff0c;否则不生效。 访问 http://127.0.0.1:6000/api/user/list 接口为例检查自己脚手架版本 $ create-react-app -V若脚手架版本在 2.0 以下&#xff0c;可以使用对象类型…

【C++】deque的实现原理简单介绍

前言 deque被称为双端队列&#xff0c;它的出现主要是为了结合vector和list的优点并减小它们的缺点&#xff0c;实际上deque确实结合了vector和list的优点减小了它们的缺点&#xff0c;但是它的结合也让它自己的优点没有原始的vector和list那么极致&#xff0c;导致deque变得很…

C++好难(1):C++的入门

目录 前言&#xff1a; C的历史&#xff1a; c的领域 1.C的关键字&#xff1a; 2.命名空间 2.1命名空间的定义&#xff1a; 1&#xff09;命名空间的普通定义&#xff1a; 2&#xff09;命名空间的嵌套定义&#xff1a; 3&#xff09;命名空间相同的处理&#xff1a; …

没有公网IP,自建网站如何让外网访问?

受创业潮影响&#xff0c;身边很多朋友都自己开公司创业了&#xff0c;作为一个IT行业从业者&#xff0c;我就莫名的开始忙起来了&#xff0c;因为掌握编程技术&#xff0c;朋友们经常找到我&#xff0c;让我帮他们做公司网站。但是存在一个无法回避的问题&#xff0c;就是我的…

0/1背包问题——从LeetCode题海中总结常见套路

目录 问题讨论 01背包问题公式 为什么状态压缩到一维时候需要逆序&#xff1f; 怎样求次数&#xff1f; 转化成最大和sum/2的01背包&#xff1a;LeetCode.416.分割等和子集 转化成最大和sum/2的01背包&#xff1a;LeetCode1049.最后一块石头的重量II LeetCode.494.目标和…

微软文字转语音不能试用了,分享三个方法给大家!

最近很多小伙伴告诉我&#xff0c;微软文字转语音不能在线试用了&#xff0c;这是因为微软关闭了官方的使用页面&#xff0c;所以现在不能直接使用微软的网页版进行文字转语音了。 那么我们还有没有更好的方法去“白嫖”微软的文字转语音呢&#xff1f; 答案是肯定的&#xf…

初识NoSQL(一文读懂)

最近参加了Oracle的数据库培训&#xff0c;对NoSQL非常好奇&#xff0c;总结一下关于NoSQL的认识。 NoSQL是Not Only SQL&#xff0c;并不是去除掉SQL&#xff0c;泛指非关系型的数据库。关系&#xff0c;指关系模型&#xff0c;具体指同一个对象在不同属性上的值 以及 不同对…