我需要图例中与图形数据无关的附加文字以及图例标题。 像这样的东西(它是在OriginLab中制作的):
关注此链接Add custom legend without any relation to the graph
我可以使用<div class="row">
<div class="col-xlg-4 col-xl-12 col-lg-12 col-md-7 col-sm-12 col-xs-12" title="FAQ" baCardClass="medium-card with-scroll">
<FAQ-omni></FAQ-omni>
<ul class="alShare">
<li (click)="Show(1)">Locator</li>
<li (click)="Show(2)">Offer</li>
<li (click)="Show(3)">Contact</li>
<li (click)="Show(4)">Holiday</li>
<li (click)="Show(5)">FAQ</li>
</ul>
</div>
</div>
添加一些文字。但是在本文中有一个缩进:
如何避免这种缩进?是否有更优雅的方法来添加与图例无关的文本以及图例标题?
答案 0 :(得分:5)
legend
函数将返回,因为它的第二个输出参数处理构成图例中符号和文本的所有组件。因此,您可以在图例中将“虚拟”线条绘制为占位符,在创建图例时对手柄重新排序以将文本放置在所需位置,并相应地修改图例对象。这是一个例子:
Code99
答案 1 :(得分:2)
您可以使用注释。它并不完美,但只需很少的调整就能得到你想要的东西。这是一个例子:
% somthing to plot:
x = [0:0.1:5; 5:0.1:10].';
y = sin(x);
% plot the real data:
plot(x,y);
hold on
% make some space in the legend:
Spacing_lines = 3;
h = plot(nan(size(x,1),Spacing_lines));
hold off
set(h,{'Color'},{'w'}); % clear the dummy lines
% place the legend:
hl = legend([{'lable1','lable2'} repmat({''},1,Spacing_lines)]);
% add your text:
annotation('textbox',hl.Position,'String',{'Some info';'in 2 lines'},...
'VerticalAlignment','Bottom','Edgecolor','none');
从此你得到:
答案 2 :(得分:1)
您可以通过这种方式将任何文本添加到任何一点:
txt1 = 'some information';
text(x1,y1,txt1)
其中x1, y1
- 坐标。
顺便说一下,函数text
函数有很多不同的属性(颜色,字体大小,对齐等)。
答案 3 :(得分:0)
我认为最简单的方法是创建一些虚拟函数,绘制它但设置color =“none” - 这样它只会出现在图例中(如果那是你想要它的地方)。