如何用R语言ggplot2画折线图

文章目录

  • 前言
  • 一、数据集
  • 二、ggplot2画图
    • 1、全部代码
    • 2、细节拆分
      • 1)导包
      • 2)创建图形对象
      • 3)主题设置
      • 4)轴设置
      • 5)图例设置
      • 6)颜色
      • 7)保存图片


前言

在这里插入图片描述


一、数据集

数据下载链接见文章顶部

数据:

在这里插入图片描述

library(readxl)

data <- read_excel("fig3_line.xlsx", sheet = "Sheet1")

二、ggplot2画图

1、全部代码

library(ggplot2)

pic =
    ggplot(data, aes(x = x, y = y, group = Species, color = Species)) +
    geom_line(linewidth = 1.5) +
    # 主题设置
    theme_classic() +
    # 轴设置
    theme(axis.text = element_text(size = 20)) +
    theme(axis.title = element_text(size = 22)) +
    coord_cartesian(xlim = c(0, 10)) +
    ylab("Percent") +
    xlab("Production") +
    scale_y_continuous(labels = scales::percent) +
    scale_x_continuous(breaks = seq(0, 10, by = 2)) +
    # 图例设置
    theme(legend.title = element_blank()) +
    theme(legend.text = element_text(size = 18, face = "italic")) + 
    theme(legend.position = c(.68, .78)) +
    # 颜色
    scale_color_manual(values = c('#73c0de', '#5470C6', '#3ba272', '#fac858', '#ee6666', '#fc8452', '#9a60b4', '#ea7ccc'))

jpeg(filename = "test3.png", width = 3300, height = 3000, res = 600, quality = 100)
pic
dev.off()

2、细节拆分

1)导包

library(ggplot2)

2)创建图形对象

pic =
    ggplot(data, aes(x = x, y = y, group = Species, color = Species)) +
    geom_line(linewidth = 1.5)
  • 设置 x 轴为列 x,y 轴为列 y,按物种类型为线条着色。
  • geom_line 用于绘制线图,并通过 linewidth = 1.5 参数设置线条的宽度为1.5个单位(毫米)。在老版本的 ggplot2 中是通过 size 参数调整线宽的,即 size = 1.5,而在新版本中,推荐用 linewidth 替换 size。

3)主题设置

theme_classic()
  • theme_classic 指定经典主题。

4)轴设置

theme(axis.text = element_text(size = 20)) +
theme(axis.title = element_text(size = 22)) +
coord_cartesian(xlim = c(0, 10)) +
ylab("Percent") +
xlab("Production") +
scale_y_continuous(labels = scales::percent) +
scale_x_continuous(breaks = seq(0, 10, by = 2)) +
  • 设置轴刻度字号20,轴标题字号22。
  • coord_cartesian(xlim = c(0, 10)) 用于限制 x 轴坐标轴的范围,只显示从0到10的区间。这意味着即使数据中存在超出这个范围的值,图形也只会显示在这个范围内。该函数与xlim(0, 10)的区别是:xlim 函数会先删除超出范围的数据点再绘制;而 coord_cartesian 函数会用所有的点绘制,但只展示 y∈[0,10] 区间的图像。在本图中用这两个函数绘制效果没有区别,但在绘制箱线图时,这两个函数绘制的图中中位数和四分位点可能截然不同。
  • xlab 设置 x 轴标题,ylab 设置 x 轴标题。
  • scale_y_continuous() 函数用于设置y轴的连续型变量的比例尺。
    labels = scales::percent 表示将y轴的标签格式化为百分比形式,即将数值乘以100并加上百分号符号。
  • scale_x_continuous() 函数用于设置x轴的连续型变量的比例尺。
    breaks = seq(0, 10, by = 2) 表示设置x轴刻度的位置。在这个例子中,刻度位置从0开始,每隔2个单位设置一个刻度,一直到10。

5)图例设置

theme(legend.title = element_blank()) +
theme(legend.text = element_text(size = 18, face = "italic")) + 
theme(legend.position = c(.68, .78))
  • 设置图例标题为空。
  • 设置图例字体为18号斜体。
  • .68 和 .78 即 0.68 和 0.78,表示图例中心点位置相对于整个图表的坐标系的百分比。

6)颜色

scale_color_manual(values = c('#73c0de', '#5470C6', '#3ba272', '#fac858', '#ee6666', '#fc8452', '#9a60b4', '#ea7ccc'))
  • 分别为每个物种类别的线条指定颜色。

7)保存图片

jpeg(filename = "test3.png", width = 3300, height = 3000, res = 600, quality = 100)
pic
dev.off()
  • jpeg 函数打开了一个JPEG设备,设定了图片的保存路径为 “test3.png”,图片的宽度为3300像素,高度为3000像素,分辨率为600 dpi,图片质量为100%。
  • pic 是之前生成的图形对象。
  • dev.off() 关闭了之前打开的图形设备,保存了图片到指定路径。这是在完成图片保存后必须执行的步骤,以确保保存的图片被正确地输出。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络数据包抓取与分析工具wireshark的安及使用

WireShark安装和使用 WireShark是非常流行的网络封包分析工具&#xff0c;可以截取各种网络数据包&#xff0c;并显示数据包详细信息。常用于开发测试过程中各种问题定位。 1 任务目标 1.1 知识目标 了解WireShark的过滤器使用,通过过滤器可以筛选出想要分析的内容 掌握Wir…

企业微信hook接口协议,ipad协议http,确认群发消息

确认群发消息 参数名必选类型说明uuid是String每个实例的唯一标识&#xff0c;根据uuid操作具体企业微信 请求示例 {"uuid": "d85c7605-ae91-41db-aad5-888762493bac","vids":[],//如果是客户群群发需要填群id"msgid":1097787129…

前端三剑客之JavaScript基础入门

目录 ▐ 快速认识JavaScript ▐ 基本语法 &#x1f511;JS脚本写在哪? &#x1f511;注释 &#x1f511;变量如何声明? &#x1f511;数据类型 &#x1f511;运算符 &#x1f511;流程控制 ▐ 函数 ▐ 事件 ▐ 计时 ▐ HTML_DOM对象 * 建议学习完HTML和CSS后再…

手把手带你做一个自己的网络调试助手(4) - 优化完善

了解全部信息&#xff0c;请关注专栏: QT网络调试助手_mx_jun的博客-CSDN博客 优化服务器 1.不能设置随拖动变大: this->setLayout(ui->verticalLayout); 2. 未连接就能发送消息: //在处理新连接槽函数中加入 if(!ui->btnSend->isEnabled()){//只有客户端连接…

【CC精品教程】osbg格式三维实景模型全解

数据格式同样都是osgb,不同软件生产的,建模是参数不一样,还是有很大区别的,本讲进行一一讲解。 文章目录 一、CC生产的osbg1. osgb的文件结构2. metadata.xml是什么?​(1)EPSG模式metadata.xml​(2)EPSG带+模式metadata.xml​(3)ENU模式metadata.xml​(4)LOCAl模式…

《大道平渊》· 拾贰 —— 天下大事必作于细:做好每一件小事,必然大有所成!

《平渊》 拾贰 "天下难事必作于易&#xff0c;天下大事必作于细。" 社群一位大佬最近在研究新项目, 他做事的 "方法论" 令我深受启发。 他在测试项目时, 每一步都做的非常细致&#xff1a; 整个项目的测试都被划分为一件件小事, 然后有条不紊地推进…… …

postgresql之翻页优化

列表和翻页是所有应用系统里面必不可少的需求&#xff0c;但是当深度翻页的时候&#xff0c;越深越慢。下面是几种常用方式 准备工作 CREATE UNLOGGED TABLE data (id bigint GENERATED ALWAYS AS IDENTITY,value double precision NOT NULL,created timestamp with time zon…

matlab 异常值检测与处理——Z-score法

目录 一、算法原理1、算法概述2、主要函数3、参考文献二、代码实现三、结果展示四、相关链接本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 1、算法概述 使用Z分数法,可以找出距离平均值有多少个标准差值…

Java面试八股之静态变量和实例变量的区别有哪些

Java静态变量和实例变量的区别有哪些 存储位置和生命周期&#xff1a; 静态变量&#xff1a;静态变量属于类级别&#xff0c;存储在Java的方法区&#xff08;或称为类区&#xff0c;随JVM实现而异&#xff0c;现代JVM中通常在元数据区内&#xff09;&#xff0c;并且在类首次…

天锐绿盾,怎么防止公司内部核心文件、文档、设计图纸、源代码、音视频等数据资料外泄

天锐绿盾通过多种技术和管理手段&#xff0c;全面保护公司内部的核心文件、文档、设计图纸、源代码、音视频等数据资料&#xff0c;防止外泄。以下是具体的防泄密措施&#xff1a; PC地址&#xff1a; https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5d…

【技术干货】Linux命令“du-sh和df”执行结果存在差异,问题分析及处理过程

1.du-sh和df的差异 du和df是两个不同的Linux命令&#xff0c;它们⽤于查看磁盘空间的使⽤情况。但是它们有⼀些区别&#xff1a; • du&#xff08;diskusage&#xff09;会扫描每个⽂件和⽬录&#xff0c;并计算它们的总⼤⼩。[1]du-sh*会显⽰当前⽬录下每个⽂件或⽬录的⼤⼩…

APD系列特高频局放监测装置

安科瑞电气股份有限公司 祁洁 15000363176 一、产品概述 现阶段&#xff0c;电力系统对于电能的质量提出越来越高的要求&#xff0c;不仅要确保供电稳定可靠&#xff0c;而且供电的安全性也是重要要求。电力系统中&#xff0c;金属封闭开关设备得到广泛应用&#xff0c;因…

基于springboot实现影院订票系统项目【项目源码+论文说明】

基于springboot实现影院订票系统演示 摘要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本影院订票系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在…

安卓手机电脑同步数据,2个方法,有效避免数据膨胀

如今&#xff0c;我们的手机已经成为了数字生活的中心舞台&#xff0c;而电脑则是我们工作和娱乐的得力助手。两者之间的数据同步&#xff0c;就像是搭建了一座无形的桥梁&#xff0c;让我们的生活和工作变得更加便捷和高效。如何高效进行手机电脑同步数据呢&#xff1f;在这篇…

第十三章 组合模式

目录 1 组合模式介绍 2 组合模式原理 3 组合模式实现 4 组合模式应用实例 5 组合模式总结 1 组合模式介绍 组合模式(Composite Pattern) 的定义是&#xff1a;将对象组合成树形结构以表示整个部分的层次结构.组合模式可以让用户统一对待单个对象和对象的组合. 2 组合模式…

【C++题解】1457 - 子数整除

问题&#xff1a;1457 - 子数整除 类型&#xff1a;循环应用 题目描述&#xff1a; 于一个五位数 abcde &#xff0c;可将其拆分为三个子数&#xff1a; sub1abc sub2bcd sub3cde 例如&#xff0c;五位数20207 可以拆分成sub1202 sub2020 (也就是 20) sub3207 现在给定一个正…

中文词云MATLAB

wordcloud Create word cloud chart from text, bag-of-words model, bag-of-n-grams model, or LDA model name{1} {数字图像处理}; name{2} {禹晶 肖创柏 廖庆敏}; name{3} {1 绪论,2 数字图像基础,3 空域图像增强,4 频域图像增强,7 图像压缩编码,9 二值图像形态学,8 图像…

k8s学习--kubernetes服务自动伸缩之水平收缩(pod副本收缩)VPA策略应用案例

文章目录 前言应用环境1.VPA应用案例 updateMode: "Off"&#xff08;1&#xff09;创建应用实例&#xff08;2&#xff09;创建vpa 2.VPA应用案例 updateMode: "Auto"&#xff08;1&#xff09;创建应用 &#xff08;2&#xff09;创建vpa&#xff08;3&am…

护眼台灯哪个品牌好?几款性价比最高的护眼台灯推荐

在过去&#xff0c;科技尚未发展至如今这般先进水平时&#xff0c;晚上需要照明的时候&#xff0c;我们通常只能依赖白炽灯。尽管白炽灯以其低成本和接近自然光的显色性获得了一定的青睐&#xff0c;随着时代的发展&#xff0c;现在市面上出现了更为护眼的选择——LED台灯。然而…

VMware导入vmdk文件(亲测有效)

场景&#xff1a;从别的地方拷贝了一个系统镜像&#xff0c;实际测试案例是从vulnhub下载的Kioptix Level #4靶场解压缩以后的文件是【Kioptrix4_vmware.vmdk】后缀为名为vmdx,使用常规的方式【文件-----打开】的方式&#xff0c;不能导入虚拟机&#xff0c;现在演示如何导入到…