Matlab:保存后翻转图例顺序和图例重叠图

时间:2015-12-19 22:11:35

标签: matlab

我正在尝试根据reverse ordering of legend colors in matlab bar plot撤消我的图例条目顺序,但在我的情况下似乎不起作用。

Basicaly我所拥有的是一个GUIDE图,它绘制了很多图并能够将它们保存到.png文件中。效果如下: http://i.imgbox.com/KzEFAdia.png

我设法通过颠倒翻转图例来更改文本顺序,但我无法更改图例颜色顺序。 这就是我所拥有的:

[a b] = legend(legenda);

map = colormap; % current colormap

n = size(b,1);

z = linspace(size(map,1),1,n/3); % there is 1 text and 2 line elements for every data series, so I divide by 3

z = round(z); %otherwise matlab gets angry that indices must be real integers or logicals

MAP = map(z(:),:); % gets elements specified by linspace from colormap

到目前为止一切正常。

两个系列的b矢量看起来像这样(从2.0开始,因为它是相反的):

Text    (P+C 200 2.0.dpt)
Text    (P+C 200 1.0.dpt)
Line    (P+C 200 2.0.dpt)
Line    (P+C 200 2.0.dpt)
Line    (P+C 200 1.0.dpt)
Line    (P+C 200 1.0.dpt)

所以我想出来了(基于链接代码),我必须为每个行条目更改颜色变量。

for k = (n/3 + 1):n
   a1 = get(b(k),'Children');
   set(a1,'FaceColor',MAP(ceil((k - n/3)/2), :));
end

Ceil除以2得到相同的指数两次。

但是,这段代码什么也没做。

我已经检查了翻转图例矢量是否可能是我的问题的根源,但颜色顺序保持不变。我也尝试过使用MAP矢量 - 没有运气。

当我在for循环中的a1 = ...行之后删除分号时,我得到:

a1 = 

  0x0 empty GraphicsPlaceholder array.

我怎样才能让它发挥作用?

此外,有没有什么好方法可以让图例在保存后不覆盖图表(参见上面链接的图片)?

我保存它的方法是创建一个临时图形,其中'可见''关闭'并执行轴和图例的复制,然后保存。否则它会保存整个数字。

0 个答案:

没有答案
相关问题