R绘制动态曲线

「爱情、让人受尽委屈。」 2022-09-18 14:46 309阅读 0赞

使用R语言绘制动画可以方便地观察到数据的变化行为。以之前Chrome在收集页面资料时使用的指数平滑算法为例,绘制一个在不同系数且目标值不断变化(应用场景不是页面访问统计)的情况下的曲线逼近行为。

首先要确保在R中安装了animation包, 如果需要保存成GIF动画,还需要安装ImageMagick。GIF的每一帧是基于一个plot操作的。

下面是一个示例代码:

  1. library(animation)
  2. ani.options(interval = 0.2)
  3. #生成GIF
  4. generateGIF<-function(coeff,loopingCount){
  5. layout(matrix(c(1, rep(2, 5)), 6, 1))
  6. saveGIF(generatePlots(coeff,loopingCount))
  7. }
  8. #动画绘制函数
  9. generatePlots<-function(coeff,loopingCount){
  10. oopt = ani.options(interval = 0.2, nmax = loopingCount)
  11. #初始化绘图,并指定座标范围
  12. plot(0,0,xlim = c(0,ani.options("nmax")), ylim = c(0, 3500),col='blue',xlab="black:target value, red:actual value",ylab="Values")
  13. tgtValues<-c(0)
  14. newValues<-c(0)
  15. posValues<-c(0)
  16. oldValue=0
  17. for (i in 2:loopingCount) {
  18. tgtValues[i]=1000+rnorm(1,mean=500,sd=800)
  19. newValues[i] = tgtValues[i]*coeff+newValues[i-1]*(1-coeff)
  20. posValues[i] = i
  21. plot(0,0,xlim = c(0,ani.options("nmax")), ylim = c(0, 3500),col='blue',xlab="black:target value, red:actual value",ylab="Values")
  22. points(posValues,tgtValues,col="black")
  23. points(posValues,newValues,col="red")
  24. lines(posValues,newValues,col="red")
  25. ani.pause()
  26. }
  27. }

*CSDN上的GIF都是死的,只能放到别处了!

《效果图》

发表评论

表情:
评论列表 (有 0 条评论,309人围观)

还没有评论,来说两句吧...

相关阅读

    相关 R语言绘制优美的生存曲线

    用R语言绘制优美的生存曲线 生存曲线是生物学和医学研究中常用的可视化工具,用于描述个体或群体在一段时间内存活的概率。在R语言中,我们可以使用一些库来绘制漂亮的生存曲线,例如`

    相关 R语言绘制正态分布曲线及检验

    R语言绘制正态分布曲线及检验 正态分布在统计学和数据分析中扮演着重要的角色。在R语言中,我们可以使用概率密度函数(PDF)来绘制正态分布曲线,并进行正态性检验。本文将介绍如何

    相关 mfc绘制曲线

    自带库绘制 用mfc自带的绘图函数绘制一个sin曲线,可以说是非常费力和傻了,基于对话框程序在onPaint()函数中添加绘制代码。效果也并不是很好。 void