如何让我的情节看起来更漂亮(包括字体,标签等)?

时间:2015-02-24 16:06:05

标签: matlab plot matlab-figure

我正在尝试为我的演示文稿获取非常好的图,下面是我用来绘制的代码

clear all 
clc
close all
syms v   
omegat= -2:0.000001:2;

Nt=32;
gainfuc = (1/Nt)*exp(1i*pi*omegat*(Nt-1)/2).*sin(pi*Nt*omegat/2)./sin(pi*omegat/2);
gainfuc(omegat == 0) = 1;
G = (omegat < 2/Nt).*(omegat > -2/Nt);
plot(omegat,abs(gainfuc))
syms t
hold on
grid on
plot(omegat,G,'r')
ylabel('G_t(y)','FontSize',16,'FontWeight','bold')
xlabel('y','FontSize',16,'FontWeight','bold')

我的问题很简单,任何让这个情节变得更好的想法(字体,网格等等),以便在演示中看起来不错?

更新enter image description here

下面的答案中建议的更改后,我已获得了下图

1 个答案:

答案 0 :(得分:4)

在Matlab 2014b 一个新的graphic engine got introduced,它看起来更漂亮。

  

新的默认色彩图更准确地呈现数据,使其更易于理解。具有抗锯齿图形和字体的新默认线条颜色,字体和样式提高了MATLAB可视化的清晰度和美感。

在Matlab 2014a 中,您还可以按照instructions激活新的图形引擎。

早期版本中,hack也可能,但我还没有测试过。它很可能是非常有缺陷的。对于2014a我现在使用它差不多一年了,它就像一个魅力。我发现2014年HG2的最终版本没有任何差异。


确保平滑设置为'on'

h = gcf;
h.GraphicsSmoothing = 'on'

enter image description here

我还使用了标准的LateX字体CMU Serif Roman来调整所有内容。安装字体(开源)后,在代码的开头输入这一行。

set(0,'defaultAxesFontName', 'CMU Serif Roman')
set(0,'defaultAxesFontSize', 12)

一般建议:

  • 使用矢量图形渲染:set(gcf, 'renderer', 'painters')
  • 指定保存图形时的分辨率,尤其是像素图形:print('-dpng','-r600','PeaksSurface')(仍然使用矢量渲染器!)
  • MS Office的矢量格式为 .emf ,Matlab也支持
  • 可以使用:set(gcf,'InvertHardcopy','off')