【问题标题】:Blurry label text in matlab plotsmatlab图中的模糊标签文本
【发布时间】:2013-05-22 22:24:24
【问题描述】:

我有一些 matlab 绘图。当我保存绘图然后将其放入我的word文档然后将其保存为pdf文件时。我把情节标签弄糊涂了,有些字母不清楚?!

plot(d1,S,'*');
title('Frequency','FontWeight','bold','FontSize',11);
xlabel('delta','FontWeight','bold','FontSize',11), ylabel('sigma','FontWeight','bold','FontSize',11);

为什么会这样(生气)?! 我该如何解决?!

【问题讨论】:

  • 猜测一下,您是否将图形保存为 .jpg 或 .png 之类的栅格格式?如果是这样,只需将其保存为 .eps 或 .wmf 之类的矢量格式(或者只需转到编辑 -> 复制图并将其粘贴到您的文档中,因为您使用的是 Word)。
  • 是的,我保存为 jpg 或 bmp。如何将其保存为矢量格式?
  • 使用 .eps 或 .wmf,或查找列表中的其他格式中哪些是矢量格式(我不记得整个列表)。
  • 如果您以交互方式工作,请尝试print -dmeta。这会将图形复制到剪贴板中。接下来打开 Word,然后简单地粘贴它:Ctrl-v。否则使用print 和一些建议的矢量格式
  • 考虑使用文件交换中广泛使用的函数export_fig。这使得获得出版质量数据变得更加容易。

标签: matlab plot


【解决方案1】:

网络上有很多关于此的讨论,但当我想将图表导出为图像时,没有一个解决方案真正让我满意。 无论如何,这就是我所做的:

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

现在您可以使用print 将基于矢量的版本(正如@wakjah 提到的那样质量最好)复制到剪贴板(正如@Amro 所说):

print -dmeta

或者使用hgexport 再次导出到metafile:

hgexport(figH,'-clipboard')

但是,您需要手动调整 MyFont 中的 graph_size 和 FontSize 以获得所需的输出。但好消息是,如果您想将它用于某些出版物,您只需要这样做一次。

请注意,尽管您将图形导出为基于矢量的格式,但如果您放大它们,图形线仍然会显得断裂,但它们并不模糊。这就是为什么您可能希望增加屏幕上图表的大小(graph_size 和 FontSize)以获得更准确的图表。

希望这会有所帮助。

相关帖子:

MATLAB: print a figure to pdf as the figure shown in the MATLAB

In matlab, how do you save a figure as an image in the same way as using "Save As..." in the figure window?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-29
    相关资源
    最近更新 更多