matlab - 绘制大量数据时如何减小打印的 eps 的大小

标签 matlab plot filesize scatter

我正在绘制大型数据集并将其打印为 eps:

plot(Voltage,Torque,'b.')
print -depsc figure.eps

通过这百万个数据点,我将拟合一个图表。然而,由于电压和扭矩矢量的大小非常大,我的 eps 文件是 64.5 MB。

然而,大多数标绘点位于其他点之上或非常接近。如何减小 .eps 的大小,同时仍然对图表中数据的显示方式产生有限的影响?我可以让 matlab 检测和删除足够接近其他已绘制点的数据点吗?

虽然它是一个散点图,但我没有使用散点图,因为所有点的大小和颜色都应该相同。是否可以使用散点图删除视觉上过时的数据点?

最佳答案

在 stackoverflow 之外,File Exchange始终是开始寻找解决方案的好地方。 在这种情况下,我发现了以下提交:

Plot (Big) :

This simple tool intercepts data going into a plot and reduces it to the smallest possible set that looks identical given the number of pixels available on the screen.

DSPLOT :

This version of "plot" will allow you to visualize data that has very large number of elements. Plotting large data set makes your graphics sluggish, but most times you don't need all of the information displayed in the plot.

如果您最终在 LaTeX 文件中使用绘图,您应该考虑使用

matlab2tikz :

This is matlab2tikz, a MATLAB(R) script for converting MATLAB figures into native TikZ/Pgfplots figures.

要在 LaTeX 中使用,您不必绕过 PostScript,它会生成漂亮的图。 它还提供了一个名为:CLEANFIGURE('minimumPointsDistance', DOUBLE,...) 的函数,这将帮助您减少数据点。 (也许您也可以将其与上述解决方案结合使用。)

关于matlab - 绘制大量数据时如何减小打印的 eps 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27944100/

相关文章:

arrays - 如何查找元胞数组中最后一个非空元素的索引

python - matplotlib 上的常见 y 标签未调整

java - 如何使用 pdfbox 或其他 java 库减小合并后的 PDF/A-1b 文件的大小

c - 以十六进制格式获取文件 - 我的输出与 xxd 命令输出

Java/Spring - 输入流中的零文件长度

matlab - 如何使用信号概念在MATLAB中隔离频率范围?

javascript - 在 Javascript 和 MATLAB 中计算 pi - 不同的速度

c++ - 在 Matlab 中包装 C++ 代码以访问 Matlab 中的程序状态信息

rlattice - bwplot后水平abline的位置错误

matlab - 使用命令行在 MATLAB 中设置绘图的背景颜色?