필터 지우기
필터 지우기

Writing data on a blank figure

조회 수: 12 (최근 30일)
HT
HT 2018년 3월 6일
편집: Walter Roberson 2018년 3월 8일
I want to generate a blank figure/image and write a text and variable value using a for loop. For example, writing X:y where X is just a text (which does not change) but value of y is written from a variable and it keeps changing with each iteration. I tried using 'text' but have not got the output i want.
Thanks.

답변 (2개)

KSSV
KSSV 2018년 3월 6일
N = 10 ;
figure
hold on
x = 0.5 ;
for i = 1:N
y = rand ;
plot(x,y,'.r')
text(x,y,num2str(i))
end
  댓글 수: 1
HT
HT 2018년 3월 6일
X is a string and y is an array of string too. For example for i=1, display "X = apple" on a blank image where apple will be y(1).

댓글을 달려면 로그인하십시오.


Walter Roberson
Walter Roberson 2018년 3월 6일
text() does that for display purposes. But if you are aiming for an image you would have to capture the axes content with getframe() or saveas() or print() to use text()
If you need an image then the alternative is to use the Computer Vision Toolbox with its insertShape and insertText functions.
  댓글 수: 6
HT
HT 2018년 3월 8일
I am getting this error: The length of TEXT must be equal to the number of rows in POSITION. when I do
hf = insertText(hf, [10 10],['X= ', text_str(7)],'FontSize',20,'BoxColor','w');
Walter Roberson
Walter Roberson 2018년 3월 8일
편집: Walter Roberson 2018년 3월 8일
Is it possible that text_str is a cell array rather than a character vector or string object ? If so then you would need text_str{7} rather than text_str(7)
This presumes that if text_str is a cell, that text_str{7} only contains a single row of text.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Annotations에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by