定制app开发R绘制折线图 geom_line and geom_ribbon

定制app开发是排列在工作表的列或定制app开发行中的数据可以绘制到折线图中。定制app开发折线图可以显示随时间(定制app开发根据常用比例设置)而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的趋势。
在R中绘制折线图的方法有很多种,比如plot自带的line,今天我说的是包中的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))
  • 1
  • 2
  • 3
  • 4

#构建一个数据框,随机生成x轴y轴的数据,为数据进行分组以及一列数据数据

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

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

#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轴两边多余扩展空间
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

修饰后结果如下,可以看到改变了主题,边框,页边距,线条颜色等。

之前看到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))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

可以看到效果和matplotlib中的示例很相似。

一般这类图中填充区域是置信区间之类的或者准差之类的,类似误差棒图?反正很好看,以后有用还能想起来。

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发