Is it possible to put a symbol next to textbox in graph.

6 次查看(过去 30 天)
The code for the textbox.
txt = sprintf(['ResFreq: ',...
num2str(xy(1)), ' Hz' ]);
txtbox = annotation('textbox', [.6 .33 .1 .1], 'String', ...
[ txt ]);
set(txtbox,'BackgroundColor','red')
set(txtbox,'FaceAlpha',0.2)
set(txtbox,'LineWidth',1)
Here I have a picture of my graph.
I want to place the same triangle inside the textbox.

采纳的回答

Raunak Gupta
Raunak Gupta 2020-3-16
Hi,
Adding figure or geometric shape is not directly supported in annotation, the geometric object should be written in the text format which can be done using Latex. So, while creating the text string for the textbox, triangle object can be added in Latex format and 'Interpreter' property of annotation object can be set to 'latex' for it to print properly. Below example can help recreating the same. I am assuming the intersection point is plotted seperately with the triangle icon.
txt = strcat('$\triangle$',sprintf([' ResFreq: ',num2str(50), ' Hz']));
txtbox = annotation('textbox', [.6 .33 .1 .1], 'String', ...
txt);
set(txtbox,'Interpreter','latex')
set(txtbox,'BackgroundColor','red')
set(txtbox,'FaceAlpha',0.2)
set(txtbox,'LineWidth',1)
Hope it helps.
  2 个评论
Eirikur Bernharðsson
Yes thank you this helped, although I would have liked if the triangle was red if that's possible?
Raunak Gupta
Raunak Gupta 2020-3-16
Hi Since the triangle is actually a text object and not a graphic but you can change the text colour in the textbox property. In that filling the color in triangle may not be possible. Other solution might be using legend in plotting the single intersecting triangle as point on the graph if other lines legend are not required. Hope this helps.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Spline Postprocessing 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by