R语言的ggplot2绘制分组折线图?

news2024/11/24 5:55:43

R绘制分组折线图.R

首先看数据情况:group有3组。Time有3组,数据意思是在3组3个时间点测量了某指标,现在要绘制组1、组2、组3某指标y按时间的变化趋势

数据情况:

看看最终的效果图如下:

下面是本次使用的代码

.libPaths()

setwd("C:/Users/12974/Desktop/百度经验/03图形绘制/03R绘制分组折线图")#设置工作空间
getwd()#加载工作空间

##导入数据
data1<-read.csv("C:/Users/12974/Desktop/百度经验/03图形绘制/03R绘制分组折线图/data.csv",
                as.is = TRUE,header = T,sep = ",", fileEncoding='utf-8')

#加载包
library(ggplot2)
library(ggsci)#画图颜色的包
#处理数据,将分类变量变为分类的
data1$group<-as.factor(data1$group)
p1<-ggplot(data = data1,
       aes(x=时间,    #x轴变量
           y=y,        #y轴变量
           group=group, #分组变量
           color=group))+
  geom_point(size=2)+
  geom_line(size=1)

#美化
p1<-p1+
  labs(x="时间",y="均值")+#坐标名称
  scale_fill_lancet()+#表示用lancet里面的颜色随机填充线条
  scale_color_lancet()+#表示用lancet里面的颜色随机填充线条
  theme_bw()+ #去掉背景灰色
  theme(panel.grid = element_blank())+ #删除背景网格
  scale_color_manual(
    values = c("1" = "#bd2628",  
               "2" = "#B09C85FF",
               "3" = "#4DBBD5FF"))

p1

#另外还可以选择组1、组2、组3其中两组作图
library(dplyr)#这个包加载了才能用下面的函数

#筛选group=1和group=2
data12<- data1 %>%
     filter(group %in% c("1", "2"))
#筛选group=1和group=3
data13<- data1 %>%
  filter(group %in% c("1", "3"))
#筛选group=2和group=3
data23<- data1 %>%
  filter(group %in% c("2", "3"))

#绘制group=1和group=2
p12<-ggplot(data = data12,
           aes(x=时间,    #x轴变量
               y=y,        #y轴变量
               group=group, #分组变量
               color=group))+
  geom_point(size=2)+
  geom_line(size=1)
#美化
p12<-p12+
  labs(x="时间",y="均值")+#坐标名称
  scale_fill_lancet()+#表示用lancet里面的颜色随机填充线条
  scale_color_lancet()+#表示用lancet里面的颜色随机填充线条
  theme_bw()+ #去掉背景灰色
  theme(panel.grid = element_blank())+ #删除背景网格
  scale_color_manual(
    values = c("1" = "#bd2628",  
               "2" = "#B09C85FF",
               "3" = "#4DBBD5FF"))

p12

#绘制group=1和group=3
p13<-ggplot(data = data13,
            aes(x=时间,    #x轴变量
                y=y,        #y轴变量
                group=group, #分组变量
                color=group))+
  geom_point(size=2)+
  geom_line(size=1)
#美化
p13<-p13+
  labs(x="时间",y="均值")+#坐标名称
  scale_fill_lancet()+#表示用lancet里面的颜色随机填充线条
  scale_color_lancet()+#表示用lancet里面的颜色随机填充线条
  theme_bw()+ #去掉背景灰色
  theme(panel.grid = element_blank())+ #删除背景网格
  scale_color_manual(
    values = c("1" = "#bd2628",  
               "2" = "#B09C85FF",
               "3" = "#4DBBD5FF"))

## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.

p13

#绘制group=2和group=3
p23<-ggplot(data = data23,
            aes(x=时间,    #x轴变量
                y=y,        #y轴变量
                group=group, #分组变量
                color=group))+
  geom_point(size=2)+
  geom_line(size=1)
#美化
p23<-p23+
  labs(x="时间",y="均值")+#坐标名称
  scale_fill_lancet()+#表示用lancet里面的颜色随机填充线条
  scale_color_lancet()+#表示用lancet里面的颜色随机填充线条
  theme_bw()+ #去掉背景灰色
  theme(panel.grid = element_blank())+ #删除背景网格
  scale_color_manual(
    values = c("1" = "#bd2628",  
               "2" = "#B09C85FF",
               "3" = "#4DBBD5FF"))

p23

##保存图片
ggsave(filename = "p1.png",#命名
       plot=p1,#哪张图
       units="px",
       width = 1200,#宽度
       height = 600 #高度
)

ggsave(filename = "p12.png",#命名
       plot=p12,#哪张图
       units="px",
       width = 1200,#宽度
       height = 600 #高度
)

ggsave(filename = "p13.png",#命名
       plot=p13,#哪张图
       units="px",
       width = 1200,#宽度
       height = 600 #高度
)

ggsave(filename = "p23.png",#命名
       plot=p23,#哪张图
       units="px",
       width = 1200,#宽度
       height = 600 #高度
)

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

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

相关文章

合并两个有序数组(三指针法)

这道题使用三指针法&#xff0c;实际上是创建三个变量模拟下标的走势&#xff1a; 一般常规想法是先合并再排序&#xff0c;三指针则是边合并边排序&#xff1b; l1是nums1的有效数据的最后一位的下标&#xff0c;即m - 1&#xff1b; l2是num2的有效数据的最后一位的下标&a…

conda修改默认环境安装位置

conda修改默认环境安装位置 文章目录 conda修改默认环境安装位置查看conda配置信息创建.condarc&#xff08;conda runtime controlling)配置文件没有.condarc怎么办 即使创建正确放置了.condarc创建环境时还是默认指定C盘目录写权限目录修改权限 查看conda配置信息 conda con…

前端实现贪吃蛇功能

大家都玩过贪吃蛇小游戏&#xff0c;控制一条蛇去吃食物&#xff0c;然后蛇在吃到食物后会变大。本篇博客将会实现贪吃蛇小游戏的功能。 1.实现效果 2.整体布局 /*** 游戏区域样式*/ const gameBoardStyle {gridTemplateColumns: repeat(${width}, 1fr),gridTemplateRows: re…

Hive-SQL语法大全

Hive SQL 语法大全 基于语法描述说明 CREATE DATABASE [IF NOT EXISTS] db_name [LOCATION] path; SELECT expr, ... FROM tbl ORDER BY col_name [ASC | DESC] (A | B | C)如上语法&#xff0c;在语法描述中出现&#xff1a; []&#xff0c;表示可选&#xff0c;如上[LOCATI…

【51单片机】矩阵按键

0、前言 参考&#xff1a;普中 51 单片机开发攻略 1、硬件 2、软件 main.c #include <reg52.h> #include <intrins.h> #include "delayms.h"typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigned char u8; #define GPIO_KEY P1 #d…

【操作系统和计网从入门到深入】(五)软硬链接和动静态库

前言 这个专栏其实是博主在复习操作系统和计算机网络时候的笔记&#xff0c;所以如果是博主比较熟悉的知识点&#xff0c;博主可能就直接跳过了&#xff0c;但是所有重要的知识点&#xff0c;在这个专栏里面都会提到&#xff01;而且我也一定会保证这个专栏知识点的完整性&…

使用RSVP进行带宽预留

使用RSVP进行带宽预留 服务质量&#xff08;QoS&#xff09;工具包括 标记&#xff0c; 管制和 整形 机制&#xff0c;主要是区分服务&#xff08;DiffServ&#xff09;工具。DiffServ机制可提供带宽保证&#xff08;在各种刚性级别上&#xff09;&#xff0c;但是它们都不提供…

Three.js 学习笔记之模型(学习中1.20更新) | 组 - 模型 - 几何体 - 材质

文章目录 模型 几何体 材质层级模型组- THREE.Group递归遍历模型树结构object3D.traverse() 模型点模型Points - 用于显示点线模型Line | LineLoop | LineSegments网格模型mesh - 三角形网格模型独有的属性与方法 几何体BufferGeometry缓冲类型几何体BufferGeometry - 基类创…

【Android】app中阻塞的looper为什么可以响应touch事件

这里&#xff0c;我们考虑一个问题&#xff0c;Android中的应用是一个looper线程&#xff0c;没有任务时就阻塞着&#xff0c;其他线程通过handler调用等方式向主线程looper发送任务&#xff0c; 如果点击应用上的按钮&#xff0c;应用是怎么及时响应的呢&#xff0c; 是专门启…

JS-WebAPIs- Window对象(五)

• BOM(浏览器对象模型) BOM(Browser Object Model ) 是浏览器对象模型 window对象是一个全局对象&#xff0c;也可以说是JavaScript中的顶级对象像document、alert()、console.log()这些都是window的属性&#xff0c;基本BOM的属性和方法都是window的。所有通过var定义在全局…

提升 Go 编程:Go 1.22 中有哪些新特性?

深入了解 Go 1.22 版本及其语言增强功能 随着 Go 编程语言的不断发展&#xff0c;即将发布的版本 Go 1.22 承诺带来各种新功能、改进和变化。预计于 2024 年 2 月发布的 Go 1.22 引入了对语言、工具、运行时、编译器和核心库的增强。让我们深入了解一些在这个即将发布的版本中开…

python基础语法(下)—— python中的元组、集合、字典、类与异常的处理

文章目录 8.python中的元组8.1元组的初始化8.2元组的解包8.3元组的比较运算8.4else 9.python中的集合9.1集合的初始化9.2集合的常用操作9.3使用for循环遍历集合 10.python中的字典10.1字典的初始化10.2字典的常见操作10.3使用for循环遍历字典 11.python中的类11.1类的定义11.2类…

二进制部署高可用k8s集群V1.20.11版本

文章目录 一、操作系统初始化配置&#xff08;所有节点均执行&#xff09;1、关闭防火墙2、关闭selinux3、关闭swap4、根据规划修改主机名5、在master节点上添加host6、将桥接的IPv4流量传递到iptables的链7、时间同步 二、部署Etcd集群1、准备cfssl证书生成工具2、生成Etcd证书…

B(l)utter:一款针对Flutter移动端应用程序的逆向工程分析工具

关于B(l)utter B(l)utter是一款针对Flutter移动端应用程序的逆向工程分析工具&#xff0c;当前版本的B(l)utter仅支持Android libapp.so&#xff08;ARM64&#xff09;&#xff0c;可以帮助广大研究人员对基于Flutter开发的移动端应用程序进行逆向工程分析。 环境搭建 该应用…

C++参悟:正则表达式库regex

正则表达式库regex 一、概述二、快速上手Demo1. 查找字符串2. 匹配字符串3. 替换字符串 三、类关系梳理1. 主类1. basic_regex 2. 算法1. regex_match2. regex_search3. regex_replace 3. 迭代器4. 异常5. 特征6. 常量1. syntax_option_type2. match_flag_type3. error_type 一…

6.3.5编辑视频

6.3.5编辑视频 除了上面的功能外&#xff0c;Camtasia4还能进行简单的视频编辑工作&#xff0c;如媒体的剪辑、连接、画中画等。 下面我们就利用Camtasia4的强大功能来实现一个画中画效果&#xff0c;在具体操作之前&#xff0c;需要准备好两个视频文件&#xff0c;一个作为主…

C++:练习:类的一些简单例题(学习编程的前期需要大量的读和写基本C++代码)

2014年1月21日 内容整理自《程序设计教程&#xff1a;用C语言编程 第三版》 陈家骏 郑滔 --------------------------------------------------------------------------------------------------------------------------------- 例题1&#xff1a;用类来实现“栈”这一数…

(二十三)Kubernetes系列之prometheus+grafana安装

1.kube-prometheus安装 1.1 下载 访问地址&#xff1a;https://github.com/prometheus-operator/kube-prometheus/releases 点击Source code (tar.gz)进行下载&#xff0c;并上传到k8s服务器master节点 1.2解压 tar zxvf kube-prometheus-0.11.0.tar.gz 1.3进入kube-prome…

2024年黑龙江事业单位招聘报名详细流程图解,千万不要错过报名哦

⭐报名入口&#xff1a;入黑龙江省事业单位公开招聘服务平台 ✅报名时间&#xff1a;2024年1月22日9:00-1月26日17:00 ✅笔试联考&#xff1a;2024年3月30日 报名流程如下&#xff0c;具体可查看笔记详细图解 第一步&#xff0c;注册及登录&#xff0c;新用户注册新账号。 第二…

【数据结构】单链表的基本操作 (C语言版)

目录 一、单链表 1、单链表的定义&#xff1a; 2、单链表的优缺点&#xff1a; 二、单链表的基本操作算法&#xff08;C语言&#xff09; 1、宏定义 2、创建结构体 3、初始化 4、插入 4、求长度 5、清空 6、销毁 7、取值 8、查找 9、删除 10、头插法创建单链表…