2013-09-12 4 views
4

В Matlab, следующий создает черный цвет на указанной линии в легенде:Matlab два разных цвета в той же строке в легенде

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

То, что я пытаюсь добиться в два цвета на одной и той же линии в легенде. (поэтому в данном примере часть «тест» должен быть черным, а часть «влево оси у» должна быть красной

Что я пробовал:.

  • Doing выше :. нет результата
  • Получения строки аргументов из легенды и изменения цвета: цвет всей линии
  • Используя LaTeX, чтобы цвет текста:.. нет результата

Изображение визуализировать то, что я имею в виду:

enter image description here

+0

Не могли бы вы добавить изображение желаемого результата? –

+0

@DennisJaheruddin: конечно. Дайте мне минуту –

+1

@DennisJaheruddin Я получил то, что он хочет ... после повторного чтения текста дважды или более hhehe. Он хочет, чтобы часть текста была черной, а другая - красной, как в html: 'Test [Name].« Жан, исправьте меня, если я ошибаюсь ... – Werner

ответ

6

Вероятно, вы неправильно набранный на языке TEX строку:

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

Я использовал LaTeX по-другому (не знал, что вы можете сделать это легко), чтобы это могло объяснить. Спасибо за помощь: это работает! –

3

Я собираюсь быть тупым и предположите, что вы допустили ошибку.

Здесь мы можем видеть, что latex should work in figure labels.

И здесь мы видим, что matlab should allow using colors with latex.

К сожалению, у меня нет возможности попробовать это сейчас, но я бы предположил, что это путь. Если это не удается, пожалуйста, покажите, какой код вы использовали.

+0

Это работает! Dankjewel :) –

Смежные вопросы