定制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中的示例很相似。
一般这类图中填充区域是置信区间之类的或者准差之类的,类似误差棒图?反正很好看,以后有用还能想起来。