Matlab 将图像另存为eps

Matlab 将图像另存为eps,matlab,eps,Matlab,Eps,我正在尝试使用hist3在MATLAB 2015a中创建二维直方图,使用以下简单代码: figure hist3([X,Y],[100 100]); set(get(gca,'child'),'Facecolor','interp','CDataMode','auto'); colormap('jet') set(gca,'TickLabelInterpreter','latex') axis 'square' xlabel('$x$','interpreter','latex','Fontsi

我正在尝试使用hist3在MATLAB 2015a中创建二维直方图,使用以下简单代码:

figure
hist3([X,Y],[100 100]);
set(get(gca,'child'),'Facecolor','interp','CDataMode','auto');
colormap('jet')
set(gca,'TickLabelInterpreter','latex')
axis 'square'
xlabel('$x$','interpreter','latex','Fontsize',12)
ylabel('$y$','interpreter','latex','Fontsize',12)
view(-37,26)
其中,X,Y是长度(X)=长度(Y)=2026486的两个向量。 我尝试使用eps保存图像

print('example','-depsc')
但结果图像是基于像素的。我尝试更改渲染器:

print('example','-depsc','-painters')
但是MATLAB在打印时不断崩溃,所以我不得不手动重启计算机。 我也试着以pdf格式保存,但质量没有改变。 有没有办法克服这个问题?

尝试使用:

fig_fname = 'example';
print(gcf,'-depsc2',[fig_fname '.eps']);

首先,感谢您的回复;我试着按照你的建议修改代码,但是我仍然得到一个基于像素的图像。试着找出根本原因:注释掉view(),看看会发生什么。并将hist3()更改为scatter3(1:10,1:10,1:10)并进行检查。使用scatter3而不是hist3(带和不带视图()),我可以得到我想要的矢量化图像;注释掉view()并使用hist3,我得到了一幅基于像素的图像。我也尝试过改变两个向量X,Y的长度,但结果是一样的。。问题似乎在于hist3函数的使用。我遇到了以下工具。查看它,它可能会解决您的问题: