# Placing Text in a Plot

10 views (last 30 days)
Sameer on 10 Sep 2014
Edited: Stephen23 on 11 Sep 2014
Hello
I am trying to place some text at upper left corner of my Plot so I used the following code but as there is difference between the data so the text placed is sometimes overlaping, as its using the data to determine the location. So can anyone please sugesst the different way to acheive the same.
Here is the code I used:
P_p=plot(Totalpressure_given,Totalpressure_given,'*g');
hold on
P_p2=plot(Totalpressure_given,Totalpressure_obtained,'*r');
X_p=get(P_p,'XData');
Y_p=get(P_p,'YData');
X_p2=get(P_p2,'XData');
Y_p2=get(P_p2,'YData');
imax=find(max(Y_p)==Y_p);
imin=find(min(Y_p)==Y_p);
imax2=find(max(Y_p2)==Y_p2);
imin2=find(min(Y_p2)==Y_p2);
text(X_p(imin(1,1)),Y_p(imax),['Average Difference: ',num2str(Avg_Difference_P)]);
text(X_p2(imin2(1,1)),Y_p2(imax2),['Standard Deviation: ',num2str(SD_P)]);
There is also a way using cell but that I am not able to implement properly.
How I can properly place the text?
Regards
##### 2 CommentsShowHide 1 older comment
Sameer on 11 Sep 2014
Hi...Thanks fo letting me know and I will keep this in mind....I am trying to place the text at the upper left portion of the plot.As there are many plots and each vary in magnitude with a huge amount. so I am looking for a way so that it places the text at the desired position irrespective of the magnitude of the data...I used the magnitude because I was not able to find the way involving no use of data...but my approach is also not working properlyas it is data dependent and as the text is in different line so sometime its overlapping and sometimes the gap between two lines is huge...Can you suggest any approach?
Regards

Star Strider on 10 Sep 2014
Guessing here because I can’t run your code.
Experiment with the Text Alignment and 'Extent' options in Text Properties.

Stephen23 on 11 Sep 2014
Edited: Stephen23 on 11 Sep 2014
MATLAB lets you control all of the text properties , particularly you will want to look at Extent , Position , Units , HorizontalAlignment , VerticalAlignment ,...
For example:
• If you want your text to stay in a particular location, regardless of the data, then look at the units and Position properties.
• If you want to adjust how the text is aligned relative to the data, look at Extent.
Keep in mind that this is MATLAB: there is no "intelligent" tool that knows exactly where you want your text to be, you have to calculate that text location yourself. And keep an eye on the units!