MATLAB中不正确的图例框大小?

时间:2014-03-18 06:34:43

标签: matlab plot

我遇到了一个问题,即当字体大小发生变化时,图例框的大小不会自动调整。

x = [1 4 6 8 0 2 4 7 8]
plot(x)
lngd = legend('Nov 5, 2010 09:00 - 09:01');
set(lngd, 'interpreter','latex', 'fontsize', 10);

生成以下图表

enter image description here

我的两个问题

  • 包装盒尺寸太小。这些词是开箱即用的。我已经尝试set(lngd, 'interpreter','latex', 'fontsize', 10, [0 0 10 10]);放大盒子,但没有运气。
  • 我希望将图例框移到右下角。我试过set(lngd, 'southeast', 'interpreter','latex', 'fontsize', 10);,但没有运气。

我如何解决这两个问题?

3 个答案:

答案 0 :(得分:3)

您使用'interpreter', 'latex'有什么特别的原因吗?对于某些MATLAB来说,它似乎与传说的拳击混乱。您可以尝试通过设置Position变量手动更改图例框的位置和大小。

x = [1 4 6 8 0 2 4 7 8]
plot(x)
lngd = legend('Nov 5, 2010 09:00 - 09:01');
set(lngd,  'fontsize', 10, 'interpreter','latex','Position', [0.55,0.15,0.35,0.08]);

Position向量是{0} 1范围内的[left,bottom,width,height]

答案 1 :(得分:2)

x = [1 4 6 8 0 2 4 7 8]
plot(x)
lngd = legend('Nov 5, 2010 09:00 - 09:01');
set(lngd, 'Location', 'SouthEast'); 
set(lngd, 'interpreter','latex', 'fontsize', 30);

试试这个,它在我的matlab中运行良好

答案 2 :(得分:0)

  1. 我无法在MATLAB R2010a,R2010b或R2013a上重现该问题。你有什么版本?

    我的startup.m

    中有这些默认值
    set(0,...
        'DefaultFigurePaperPositionMode', 'auto',...
        'DefaultFigurePaperType'    , 'A4',...
        'DefaultFigurePaperUnits'   , 'centimeters',...
        'DefaultFigurePaperPosition', [3 3 8.4 10],...            
        'DefaultAxesFontsize'       , 14,...
        'DefaultTextColor'          , 'black',...
        'DefaultFigureRenderer'     , 'openGl',...
        'DefaultFigurePaperUnits'   , 'centimeters',...
        'DefaultFigurePaperPosition', [3 3 8.4 10],...
        'DefaultAxesFontsize'       , 14,...
        'DefaultAxesFontname'       , 'Times-Roman',...            
        'DefaultTextColor'          , 'black');
    

    也许设置这些改变的东西? (你会惊讶地发现这些价值中的某些价值有时会影响......)

  2. 使用

    set(lgnd, 'location', 'southeast', ...);