How to rasterize only certain parts of the figure?

14 views (last 30 days)
I have created a 3D surface plot in Matlab. I want to export the 3D surface as an image (because exporting it as vector graphics makes the file size too big), and keep the rest of the figure (e.g. axis labels, numbers, axes, etc) as vector graphics. Is this possible? In matplotlib, this can be done using
ax.plot_surf(data, rasterized=True) % matplotlib example
fig.savefig('test.pdf', dpi=500)
But I'm not sure what to do in Matlab. Any help is appreciated. Thanks.

Answers (2)

Theo Michelis
Theo Michelis on 6 Nov 2023

Narvik
Narvik on 18 Sep 2023
Hi,
I understand that you want to rasterize certain parts of your 3D plot.
The vercast function might be helpful in rasterizing part of a plot. Unfortunately, the function is no longer present on the MATLAB File Exchange. I found a GitHub repository that contains the source code for the function. You can review the code and leverage it as a reference to create your own function.
Please find the link to the function on GitHub below:
Hope this helps!

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!