R绘制折线图 geom

您所在的位置:网站首页 line如何用 R绘制折线图 geom

R绘制折线图 geom

#R绘制折线图 geom| 来源: 网络整理| 查看: 265

折线图是排列在工作表的列或行中的数据可以绘制到折线图中。折线图可以显示随时间(根据常用比例设置)而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的趋势。 在R中绘制折线图的方法有很多种,比如plot自带的line,今天我说的是ggplot包中的geom_line。 在绘图之前先随机构建个数据框。

rm(list = ls()) options(stringsAsFactors = F) a=data.frame(x=rep(1:10,2),y=runif(20,1,20), group=c(rep('A',10),rep('B',10)),add=runif(20,1,2))

#构建一个数据框,随机生成x轴y轴的数据,为数据进行分组以及一列数据数据 在这里插入图片描述

有了数据以后可以开始绘制,用ggplot中的geom_line绘制折线图,除了geom_line还有很多绘图函数,在Rstudio中打出geom_可以看到很多,自行探索

library(ggplot2) ggplot()+geom_line(data=a,aes(x=x,y=y,group=group,color=group), lwd=1)

#data 数据 #lwd 线宽 #color 颜色由group决定 #group 分组 如下图所示,共有两个组,两条线,颜色由分组决定,但是折线图的颜色很难看。 在这里插入图片描述 进一步进行修饰

ggplot()+geom_line(data=a,aes(x=x,y=y,group=group,color=group), lwd=1)+ theme_classic()+ #classic主题 theme(panel.background = element_rect(color='black'), #边框 plot.margin = margin(10,5,5,5,unit = 'mm'))+ #plot页边距 labs(x='X',y='Y')+ #xy轴title名 scale_color_manual(values = c('orange','#72be64'))+ #color对应的颜色 scale_x_continuous(expand = c(0,0)) #去除x轴两边多余扩展空间

修饰后结果如下,可以看到改变了主题,边框,页边距,线条颜色等。 在这里插入图片描述 之前看到matplotlib官网的实例中有一种折线图(fill_between),线条周围带有填充,图片很漂亮,所以就很想用R绘制。这种图片除了绘制折线的点以外还包括high和low的两个点,这种图可以用ggplot中的geom_ribbon来实现。geom_ribbon一般为可以为线条的每个点有对应的最大值和最小值,把最大值和最小值之间进行填充就得到类似下图。意在这里插入图片描述用上边那个例子接着绘图。

ggplot()+geom_line(data=a,aes(x=x,y=y,group=group,color=group), lwd=1)+ geom_ribbon(data=a,aes(ymin=y+add, ymax=y-add, #确定每个点的ymin和ymax,add就是最开始生成的随机数那一列,实际应用中可能是你这个点对应的标准差之类的。 group=group,fill=group,x=x),alpha = 0.2)+ theme_classic()+ theme(panel.background = element_rect(color='black'), plot.margin = margin(10,5,5,5,unit = 'mm'))+ labs(x='X',y='Y')+ scale_color_manual(values = c('orange','#72be64'))+ scale_fill_manual(values = c('orange','#72be64'))+ scale_x_continuous(expand = c(0,0))

可以看到效果和matplotlib中的示例很相似。 在这里插入图片描述 一般这类图中填充区域是置信区间之类的或者准差之类的,类似误差棒图?反正很好看,以后有用还能想起来。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3