R ggplot2线性图

#若没有下载过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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值