我大部分的写作都使用LaTeX,而且总是使用eps文件--这是Matlab可以创建的。没有任何问题,但是,对于一个新的案例,我开始研究Matlab生成了一个95‘t的文件( eps2pdf无法生成一个pdf )
这个问题可能很难回答。这似乎是一种出乎意料的Matlab行为,但不幸的是,我不能共享原始代码(加上代码很长,并且依赖于如此多的变量和函数……)。我试着用内置函数构建一个最小的工作示例,但它当然不会重现问题。不过,我可以给出代码的结构和创建的对象类型(见文章末尾):曲线、曲面、透明度,没有疯狂的东西。
在许多不同的情况下,这段代码一直在运行,没有任何问题,并给出了几个MB的文件。冲浪板中存在的点数、近似形状、曲线中的点数等等,任何变化或变化都是极微小的。我无法解释文件大小的差异。
我希望能对这种行为做出解释,或者选择一种替代的方式,把这张图片写到eps上。或者两者都是。现在我把它输出到png,但是我非常想要向量文件。以前有没有人遇到过非常大的每股收益的问题?
colordef white;
figure('Color','White','Name','STUFF')
hold all
% Show a curve
lpot = plot3(//STUFF\\, '-',...
'Color', [0 0 1], 'LineWidth', 2);
% Show a curve
ph = plot3(//STUFF\\,'-',...
'Color', [1 0 0], 'LineWidth', 2);
% Show a curve
plot3(//STUFF\\, '-',...
'Color', [0 1 0], 'LineWidth', 2);
% Show a point
plot3(//STUFF\\, ...
'k', 'MarkerSize', 10, 'Marker', '^', ...
'MarkerFaceColor', [1 1 0]);
% Show a surface
surf(//STUFF\\);
colormap(jet);
shading interp;
% Show a surface in transparency
surf_1 = trisurf(//STUFF\\);
set(surf_1,'FaceColor', [1 1 1], 'EdgeAlpha', 0, 'FaceAlpha', 0.5);
% Axis adjustements
axis equal tight
xlabel('stuff');
ylabel('stuff');
zlabel('stuff');
view(2);
grid on;
h_cbar = colorbar;
ylabel(h_cbar, //STUFF\\);
legend(//STUFF\\,...
{//STUFF\\});
set(gcf,'units','normalized','outerposition',[0.10 0.10 0.80 0.80])
hold off
hgexport(gcf, ['mytoobigfigure.eps'],...
hgexport('factorystyle'), 'Format', 'eps');
代码运行在matlab r2014b,windows 7上。
谢谢大家!
发布于 2015-02-18 18:26:06
耶,多亏彼得的评论,我解决了这个问题!解决办法:
myfig = gcf; % or define myfig when the figure is created
myfig.RendererMode = 'manual' % use a set with older versions of Matlab
这并不意味着我理解为什么会发生这种情况,这很可能不是Matlab所期望的行为。我认为由于某种原因,渲染器会从OpenGL切换到画家,同时保存数字。检查eps,很明显透明度是非常错误的(在大多数地方)和多边形偏移(或允许在他们的补丁前画线的属性)也是非常差的。无论是否涉及位图,检索这样的信息都超出了我的能力。但很明显,保存的图形与显示的图形不一样。还应该注意的是,将渲染器切换到手动并不会以任何其他方式影响屏幕上的图片。我想知道在默认情况下将渲染器设置为手动是不是个好主意.总是强迫OpenGl会有什么缺点吗?
如果有人对这个话题有一个更详细的答案,我很乐意阅读它。
发布于 2022-10-21 10:34:44
转到“文件->导出安装程序->呈现->自定义呈现”,并将画师(矢量格式)更改为OpenGL (位图格式),然后单击“应用到图形”。现在以任何格式保存该数字。甚至eps文件也不大于几MB。这对我有用!
https://stackoverflow.com/questions/28589334
复制相似问题