从R导出Bezier曲线?

从R导出Bezier曲线?,r,plot,vector-graphics,bezier,smoothing,R,Plot,Vector Graphics,Bezier,Smoothing,用R绘制正弦曲线并将输出保存为PDF: curve(sin, -2*pi, 2*pi, xname = "t") dev.copy2pdf(file='sine.pdf') 生成一条乍一看非常平滑的曲线: 但是,放大PDF时,可以看到曲线实际上由一系列线性段组成: 有没有办法将R中真正平滑的线条图形导出为贝塞尔曲线 有没有办法将R中真正平滑的线条图形导出为贝塞尔曲线 不可以。但是,可以增加用于绘制曲线的线段数,这将产生大致相同的效果: curve(sin, -2*pi, 2*pi, xn

用R绘制正弦曲线并将输出保存为PDF:

curve(sin, -2*pi, 2*pi, xname = "t")
dev.copy2pdf(file='sine.pdf')
生成一条乍一看非常平滑的曲线:

但是,放大PDF时,可以看到曲线实际上由一系列线性段组成:

有没有办法将R中真正平滑的线条图形导出为贝塞尔曲线

有没有办法将R中真正平滑的线条图形导出为贝塞尔曲线

不可以。但是,可以增加用于绘制曲线的线段数,这将产生大致相同的效果:

curve(sin, -2*pi, 2*pi, xname = "t", n=1001)
dev.copy2pdf(file='sine.pdf')

(1200%分辨率)

有没有办法将R中真正平滑的线条图形导出为贝塞尔曲线

不可以。但是,可以增加用于绘制曲线的线段数,这将产生大致相同的效果:

curve(sin, -2*pi, 2*pi, xname = "t", n=1001)
dev.copy2pdf(file='sine.pdf')


(1200%分辨率)

看一看这似乎是一个非常浪费的解决方案,会导致不必要的输出文件膨胀。所讨论的pdf文件大小为10k,按照现代标准,它很小。当然,在R中也存在导致图形膨胀的情况(提示:考虑散点图),但这不是其中之一。是的,但如果有数百个线对象(例如,错误椭圆),该怎么办?这可以轻松创建兆字节大小的图像。使用贝塞尔曲线,这将减少到千字节。如今,兆字节大小的图像已不复存在。现在,如果你有10 MB或100 MB大小的图像,这是一个问题。如果你有那么多的椭圆,你也可以导出到位图而不是矢量格式,这有效地限制了你的文件大小。这似乎是一个非常浪费的解决方案,会导致不必要的输出文件膨胀。所讨论的pdf大小为10k,以现代标准来看,它很小。当然,在R中也存在导致图形膨胀的情况(提示:考虑散点图),但这不是其中之一。是的,但如果有数百个线对象(例如,错误椭圆),该怎么办?这可以轻松创建兆字节大小的图像。使用贝塞尔曲线,这将减少到千字节。如今,兆字节大小的图像已不复存在。现在,如果你有10 MB或100 MB大小的图像,这是一个问题。如果你有那么多的椭圆,你也可以导出到位图而不是向量格式,这有效地限制了你的文件大小。