Placing Text in a Plot
조회 수: 16 (최근 30일)
이전 댓글 표시
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?
Please Guide
Regards
댓글 수: 2
dpb
2014년 9월 10일
편집: dpb
2014년 9월 10일
More specifically, where are you trying to locate the text--just out of the way of the data or relative to the data points?
BTW, there's no need for all the get calls, you've already got the data that you plotted in the two arrays. I'd recommend to use shorter variable names for the convenience factor of not having so much steenkin' typing and long lines in the subsequent usage. You can simplify the plotting call somewhat, too...
hL=plot(Tpr_g,Tpr_g,'*g', Tpr_g,Tpr_o,'*r');
채택된 답변
Star Strider
2014년 9월 10일
Guessing here because I can’t run your code.
Those might solve your problem.
댓글 수: 0
추가 답변 (1개)
Stephen23
2014년 9월 11일
편집: Stephen23
2014년 9월 11일
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!
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Annotations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!