R如何使振动看起来更平滑

时间:2011-04-01 19:19:15

标签: r

当绘制R中的振荡时,例如,使用封装desolve,

df1 <-function(t,y,mu)( list(c(y[2],mu*y[1]^3-y[1]+0.005*cos(t))))
library (deSolve)
yini<-c(y1=0,y2=0)
df2 <-ode(y=yini,func=df1, times=0:520,parms=0.1667)
plot(df2,type="l",which="y1",ylab="Displacement",xlab="Time", main="")

我得到了一些破烂的情节,例如:

raggedy plot in R

而不是平滑的情节(未在R中完成),例如:

smooth plot not in R

有没有人知道如何在显示振荡时在R中获得更平滑的情节而不是破旧的情节?请注意,这不仅仅是规模差异的问题,我也不是在寻找平滑滤波器。

谢谢,

1 个答案:

答案 0 :(得分:7)

我在R中生成了您的绘图并将其导出为PDF格式。我放大了它,它非常可爱。我无法看到你在那里谈论的问题。因此,存在一些缩放问题或具有栅格格式的问题导致问题。也许你正在粘贴到Word中,这会给你一个糟糕的光栅图像。就你所发布的那个而言,R在逻辑层面上制作的情节很棒。它甚至比您提出的比较图更好。

您可能以栅格格式生成绘图,而不是设置足够高的分辨率和大小。尝试使用tiff('filname',1200,1200,300)获得良好的光栅图像。我确实注意到,当导出为栅格格式时,很容易使你的情节变成一个混乱的默认png或jpg设置,只会涂抹东西。

也许你真的想以更高的分辨率在你的函数中进行采样,这在比较图中没有做到。如果是这样的话,那就相对容易了。将0:520更改为seq(0,520,0.1)。这是一个更好的情节,如下所示(比显示为PDF,EPS或SVG要好得多)。

enter image description here