R ggplot2线性图

来源:互联网 发布:03年搞笑网络歌曲 编辑:程序博客网 时间:2024/05/19 17:07
#若没有下载过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 sd0   5   6   5.5 1我们需要的数据格式应是下面这种形式的:day variable    value0   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轴labelline<-line+xlab(“天数”)+ylab(“值”)#查看当前图形line