R ggplot2线性图

xiaoxiao2021-02-28  96

#若没有下载过readxl包,则有此步,否则直接跳过 install.packages(“readxl”) #使用包 library(readxl) #读取excel文件 dataset<-read_excel(path=“./records_data.xlsx”,sheet=”Fe”,range=”A2:G18”) #解析 path参数表明文件的路径,有两种方式 1、绝对路径 即直接写成path=”D:/R/xxx.xlsx” 2、相对路径 首先通过函数getwd()获得当前工作空间路径,例如getwd()显示的结果是 D:/R/Rstudio 而数据储存在D:/R/records_data.xlsx,则相对路径可以写为 ./records_data.xlsx ./的意思是当前目录(即D:/R/) 扩展:../代表的是父目录 sheet参数表明取哪一张sheet,默认是第一页 range参数表明取的数据范围 #查看取得数据的格式 str(dataset) #调整数据结构 因为我们的day应该作为一种分类变量,而不是数值型 dataset$day<-factor(dataset$day) #解析 factor函数就是使某一变量类型变成分类变量 #降低数据的维度! 因为做点图或是线图都是二维的 即x-y型,而目前的数据格式为: day fe1 fe2 avg sd 0 5 6 5.5 1 我们需要的数据格式应是下面这种形式的: day variable value 0 fe1 5 0 fe2 6 0 avg 5.5 0 sd 1 这样就形成了一一对应的形式x轴对应day变量,y轴对应value变量,而variable相当于名字 #下载并使用“数据整形相关的包” install.packages(“reshape2”) library(reshape2) #使用包中函数进行数据的整形 dat.m<-melt(data=dataset,id.vars=”day”) #解析 #第一个参数的意思是源数据集,此处即我们从excel中读取的数据 #id.vars参数的意思是,我们标志变量的名字是哪一个,因为只有给定了标志变量, #才能以该变量为基准进行变形 #查看整形后的数据 dat.m #剔除不需要的数据 #因为这个例子只做Fe1,Fe2,avg三个相关的线性图 #因此,只需要variable为Fe1或者Fe2或者avg的 dat.m2<-dat.m[dat.m$variable %in% c(“Fe1,”Fe2”,”avg”)],) #解析 这行的直观解释就是,提取variable的名称在向量(“Fe1”,”Fe2”,”avg”)中的所有行 dat.m[行,列] 这儿需要所有的列,因此逗号后什么都不写,逗号前为提取的行的条件 %in% 的意思是 “在集合内” #做图形对象 p<-ggplot(data=dat.m2,aes(x=day,y=value,group=variable,colour=variable)) #解析 aes里面group参数的意义:按照variable进行分类,放在这个例子中,就是 variable=Fe1的value为一组,variable=Fe2的value为一组 colour参数的意义:将作为分组的那些变量,根据一定的规则映射到了颜色上,即: 能够使不同的分组自动分配不同的颜色 #给图形对象加上图层 line<-p+geom_line() #查看当前图形 line #改变图例的标题 line<-line+scale_color_discrete(name=”不同种类的Fe离子”) #查看当前图形 line #改变x,y轴label line<-line+xlab(“天数”)+ylab(“值”) #查看当前图形 line
转载请注明原文地址: https://www.6miu.com/read-52396.html

最新回复(0)