How to reduce the size of printed EPS when building large amounts of data

I plan and print a large dataset for eps:

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

Through these millions of data points, I will put a graph. However, since the sizes of the voltage and torque vectors are huge, my eps file is 64.5 MB.

Most drawn points, however, lie on top of other points or very close. How to reduce the size of .eps, while maintaining a limited impact on how data is displayed on the chart? Can I get Matlab to detect and delete data points close enough to other already drawn points?

although this is a scatter plot, I do not use a scatter plot because all points must have the same size and color. Can a scatter chart be used to remove outdated visual data?

+4
source share
2 answers

Besides stackoverflow, File Exchange is always a good place to start looking for a solution. In this case, I found the following materials:

Plot (large) :

This simple tool intercepts the data included in the chart and reduces it to the smallest possible set that looks the same, given the number of pixels available on the screen.

DSPLOT :

This version of the "chart" will allow you to visualize data with a very large number of elements. Building a large dataset makes your graphics sluggish, but in most cases you don't need all the information displayed on the graphics.

LaTeX,

matlab2tikz:

matlab2tikz, MATLAB (R) script MATLAB TikZ/Pgfplots.

LaTeX PostScript, . CLEANFIGURE('minimumPointsDistance', DOUBLE,...), . (, .)

+2

Voltage , :

plot(Voltage(1:step:end),Torque(1:step:end),'b.')

step eps .

:

[Voltage,I] = sort(Voltage); Torque = Torque(I);

+1

All Articles