在文本框中的长色线

时间:2017-11-24 14:59:41

标签: matlab colors textbox matlab-figure figure

我想在文本框中的情节中指出不同文字颜色的含义。

这是一个示例代码:

// Register your type
EvalManager.DefaultContext.RegisterType(typeof(MyRow));

// Register extension methods once from Z.EntityFramework.Plus
EvalManager.DefaultContext.RegisterExtensionMethod(typeof(BatchUpdate));

Eval.Execute("query.Update(x => new MyRow() { Id = 1, Name = 'Z_Name', Qunatity = 2});", new {query});

我正在寻找的是一个足够的符号,例如长粗线或正方形,在“是”和“否”前面的文本框中将其用作颜色标记。类似于图例中的彩色线条。如何在MATLAB文本框中实现它?

注意: MATLAB webpage中没有任何特殊字符对我有用。

1 个答案:

答案 0 :(得分:1)

我提供了一些替代方案,但对我来说,你提到的link中列出的特殊字符中的子弹似乎是合适的。检查以下结果:

figure;
bar([1,2,3])
ylim([0 5]); text(1,2,'{\color{blue} apples} {\color{red} pears}');
annotation('textbox',[0.2 0.6 0.3 0.3],'String',{['{\color{blue}','\bullet','} yes'],...
    ['{\color{red}','\bullet','} no']},'FitBoxToText','on');

给出:

output1

如果您是unicodes的粉丝,那么您就拥有更多自由。您可以插入任何连字符( - ),短划线( - ),方形(■),项目符号(•),然后列表继续。

char(8212)给出了破折号,char(9632)给出了方形,char(8226)给出了子弹。使用你想要的任何一个。

figure;
bar([1,2,3])
ylim([0 5]); text(1,2,'{\color{blue} apples} {\color{red} pears}');
annotation('textbox',[0.2 0.6 0.3 0.3],'String',{['{\color{blue}',char(8212),'} yes'],...
    ['{\color{red}',char(9632),'} no']},'FitBoxToText','on'); 

给出:

output2

或者你可以操纵legend来产生所需的结果,如下所示:

figure;
plot(NaN,NaN,'b',NaN,NaN,'r'); hold on;    %The trick
bar([1,2,3])
ylim([0 5]); text(1,2,'{\color{blue} apples} {\color{red} pears}');
legend({'yes','no'},'Location','northwest');

给出:

output3