我们可以将函数“文本”的图例添加到 matlab 吗?

Posted

技术标签:

【中文标题】我们可以将函数“文本”的图例添加到 matlab 吗?【英文标题】:Can we add legend for function "text" to matlab? 【发布时间】:2019-09-07 07:58:34 【问题描述】:

我想为我的情节添加图例。因为我想使用标记图“heartsuit”,所以我使用了“text”函数。如果我在我的代码中添加图例函数,它就无法工作。命令窗口显示“警告:绘图为空”。那么,我们可以在“文本”函数中添加图例吗?找了很多资源,都找不到。

clear all;
clc;
m = '\heartsuit';
x = 0:pi/5:2*pi;
y = sin(x);    
text(x,y,m,'fontname','Arial','color','red','FontSize',18,'HorizontalAlignment','center','VerticalAlignment','middle');
grid on;
xlim([min(x) max(x)])    
ylim([min(y) max(y)])
legend('Solusi Numerik');

【问题讨论】:

【参考方案1】:

这是一个技巧。绘制一个假的NaN 点,为其创建一个图例,隐藏其图例线,并在字符串中的适当位置添加适当空间的心形花色。如果需要,调整心形套装和/或绳子的颜色。

hold on;
LgdStr = 'Solusi Numerik';        %Your legend string
hNaN = plot(NaN,NaN);             %Plotting nothing
[~, icons] = legend(hNaN, LgdStr);%Creating a legend to get required space for string
icons(2).Visible = 'off';         %Hiding the fake legend line
icons(1).Position(1) = 0.125;     %Adjusting the starting position of text
icons(1).String = ['\colorred', m, '   \colorblack',LgdStr];
%Last line includes red-colored heart-suit at reasonable space from black-colored text 

结果:

【讨论】:

以上是关于我们可以将函数“文本”的图例添加到 matlab 吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MATLAB 中将两个图例添加到单个图中?

Matlab中给figure添加图例(legend),标题(title)和颜色(color)

如何在matlab中为图形加标注以及文字说明

matlab中如何调整legend的位置?

matlab怎么在图上添加图例

关于 matlab 中 quiver 加图例