【问题标题】:Draw bold axes in Matlab properly在 Matlab 中正确绘制粗体轴
【发布时间】:2015-02-23 23:30:23
【问题描述】:

Matlab 绘图中的默认轴非常细,我尝试用

将它们加粗
set(gca, 'fontsize', 18, 'linewidth', 2)

但是四个中的线条没有正确匹配在一起。以下 MWE 演示了该问题:

plot(1,1,'linewidth', 5)
set(gca, 'fontsize', 18, 'linewidth', 5)
box on
print -dpng example

如何在 Matlab 中正确绘制粗体坐标轴?

【问题讨论】:

    标签: matlab plot matlab-figure axes visual-glitch


    【解决方案1】:

    plot手动画四条粗线怎么样?

    plot(1,1,'linewidth', 5)
    hold on
    xl = xlim;
    yl = ylim;
    plot([xl(1) xl(2) xl(2) xl(1) xl(1)],...
         [yl(1) yl(1) yl(2) yl(2) yl(1)],....
         'k', 'linewidth', 5)
    set(gca, 'fontsize', 18)
    print -dpng example
    

    或者,正如@thewaywewalk 所指出的,那条长的plot 行可以替换为更简单的

    rectangle('linewidth',5)
    

    Matlab R2010b 中的结果:

    Matlab R2014a 中的结果:

    Matlab R2014b 中的结果:

    【讨论】:

    • 出于任何原因,您的解决方案对我不起作用(带有 HG2-Update 的 Matlab 2014a),它看起来与 OPs 的情况相同。除此之外:只需简单地rectangle('linewidth',5) 也可以完成这项工作,默认情况下,矩形是根据轴限制绘制的。但无论如何,OP 描述了同样的问题。
    • 为了节省开支,您可以将 'marker','s','MarkerFaceColor','k','MarkerEdgeColor','none' 添加到您的 plot 命令中,但不能使用 rectangle 命令,至少在这个版本中是这样。
    • @thewaywewalk 感谢 cmets。我已经编辑了我的答案以包含 rectangle 行。你得到错误的行为很奇怪,因为 OP 用他在 R2014a 中的结果编辑了我的答案,它似乎有效。也许是 hg2 更新
    猜你喜欢
    • 1970-01-01
    • 2017-10-09
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-22
    相关资源
    最近更新 更多