【问题标题】:Legend entries out of box开箱即用的图例条目
【发布时间】:2019-01-27 16:53:51
【问题描述】:

我正在使用semilogx 绘制数据。每当我将生成的图形保存为 eps 或 pdf 文件时,图例条目就会出现在图例框中(见附件)。但是,对于 .jpg 它工作正常。请指教。

以下是我用于绘图的示例代码:

[fa,xa] = ecdf(Variable_1);
[fb,xb] = ecdf(Variable_2);
set(0,'DefaultLineLineWidth',3)
set(0,'DefaultAxesFontName','Helvetica')
set(0,'DefaultAxesFontSize',18)
set(0,'DefaultTextFontName','Helvetica')
set(0,'DefaultTextFontSize',18)
semilogx(xa,fa,'b--');
hold all
semilogx(xb,fb,'r--');
hold all
legend({'Availability', 'Unavailability'},'location','northwest');
xlabel('Intervals (hours)');
ylabel('Cumulative fraction');
grid off

【问题讨论】:

  • 您的代码不可执行。请提供minimal reproducible example。我已经尝试使用Variable_1 = random('wbl',3,1,15,1)Variable_2 = random('wbl',3,1,15,1) 并且在pdf文件中没有问题。 (R2018a 更新 2)
  • @SardarUsama 代码运行良好。 Variable_1 和 Variable_2 是列表。请在执行代码之前生成一系列数字。
  • 我过去也遇到过类似的问题。您可以尝试的一件事是在保存之前最大化屏幕上的图形大小。试一试(如果您还没有尝试的话),如果可行,请告诉我们。

标签: matlab matlab-figure legend


【解决方案1】:

我的第一选择是摆脱盒子:

legend({'Availability','Unavailability'},'location','northwest','box','off')

如果你真的想要盒子,你可以手动增加它的大小,例如宽度增加 10%:

lposincr = [0 0 .1 0]; % left, bottom, width, height
l = legend({'Availability', 'Unavailability'},'location','northwest');
lpos = get(l,'Position');
set(l,'Position',lpos.*(1+lposincr))

【讨论】:

    猜你喜欢
    • 2013-10-26
    • 2015-01-07
    • 2013-08-29
    • 2017-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-03
    • 2017-12-15
    相关资源
    最近更新 更多