网上有很多关于这个的讨论,但是当我想将图表导出到图像时,没有一个解决方案真正让我满意。无论如何,这是我所做的:
MyFont = {'FontName', 'Times New Roman', 'FontSize', 25};
graph_size = [1200 800]; % in pixels
fig_h = figure('Units', 'pixels', 'Position', [10 50 graph_size]);
% Do your plot
x = 0:0.1:2*pi;
plot(x, sin(x))
set(gca, MyFont{:}); % Adjust all the font sizes in the axes
现在您可以将基于矢量的版本(这是@wakjah 提到的最好的质量)复制到剪贴板print
(正如@Amro 所说):
print -dmeta
或者再次hgexport
导出到哪个metafile
:
hgexport(figH,'-clipboard')
但是,您需要手动调整 graph_size 和FontSize
inMyFont
以获得所需的输出。但好消息是,如果您想将它用于某些出版物,您只需要这样做一次。
请注意,尽管您将图形导出为基于矢量的格式,但如果您放大它们,您的图形线仍然会显得断裂,但它们并不模糊。这就是为什么您可能希望增加屏幕上图表的大小(graph_size
以及因此FontSize
)以获得更准确的图表。
希望这可以帮助。
相关文章:
MATLAB:将图形打印为pdf,如MATLAB中所示的图形
在matlab中,如何将图形另存为图像,就像在图形窗口中使用“另存为...”一样?