Matlab在图例中的两行不同颜色

时间:2013-09-12 20:53:49

标签: matlab matlab-figure printf legend-properties

在Matlab中,以下内容在图例中的指定行上生成黑色:

leftAxis = sprintf('left y-axis','Color','r');
leg = legend([.. bla bla ..], sprintf('test [%s]', leftAxis), etc... );

我想要实现的是图例中同一行的两种颜色。 (所以在这个例子中,'test'部分应该是黑色,部分'左边y轴'应该是红色的。

我尝试了什么:

  • 执行以上操作:无结果。
  • 从图例中获取字符串参数并更改颜色:为整行着色。
  • 使用LaTeX为文本着色:无结果。

想象我的意思的图片:

enter image description here

2 个答案:

答案 0 :(得分:6)

可能你错误​​输入了tex string:

figure
hold on
line1H=plot(1:10,1:10);
line2H=plot(1:10,2*(1:10),'r');

leg{1} = 'BlackText {\color{blue}line1} BlackAgain';
leg{2} = 'BlackText {\color{red}line2} BlackAgain';

legend([line1H,line2H],leg{:})

生成:

Colored Legend

答案 1 :(得分:3)

我会直言不讳地猜测你犯了一个错误。

我们在这里可以看到latex should work in figure labels

在这里,我们可以看到matlab should allow using colors with latex

不幸的是我现在没有机会尝试,但我猜这是要走的路。如果失败,请显示您使用的代码。