Borrar filtros
Borrar filtros

rectangle to draw a line

4 visualizaciones (últimos 30 días)
Vincent I
Vincent I el 14 de En. de 2013
Hi, I'm using rectangle to draw a circle then a line in a for loop. However, when I draw the second line, after drawing the circle, the line width is slimmer than the previous drawn line and even the next drawn lines.
I'm confuzed. I saved the handle and looked at the first created line and compared it to the second line. However, they are identical. Any advice?
Thank you
for m=1:10
rectangle('parent',handles.Axes9,'Position',[x,y,30,30],'Curvature',...
[1,1],'FaceColor',color);
rectangle('parent',handles.Axes9,'Position',...
x+14,y+30,1,h],'FaceColor','black');
text(x+8,y+15, {m},'fontsize',14,'color','black',...
'fontweight','bold','parent',handles.Axes9);
end

Respuestas (2)

Image Analyst
Image Analyst el 14 de En. de 2013
You probably need to use "hold on" in between those calls. But why not use line() or plot() to create a line? Why use rectangle to create a line?
  5 comentarios
Jan
Jan el 15 de En. de 2013
Do you mean: "that the line is identical except for the handle number"?
Vincent I
Vincent I el 15 de En. de 2013
Editada: Vincent I el 15 de En. de 2013
:-) yes. the rectangle "line" is identical except the handle number

Iniciar sesión para comentar.


Jan
Jan el 15 de En. de 2013
This has been a useful example.
The code is correct and the display of the graphics is correct also. You see the effect, that rectangle draws to rounded pixel positions. And sometimes they are nearer to each other, such that the line looks smaller. When you resize the figure, you will see, that other lines are concerned.
  5 comentarios
Malcolm Lidierth
Malcolm Lidierth el 16 de En. de 2013
Vincent I
Vincent I el 16 de En. de 2013
fixed my issue by doing the following:
rectangle('parent',findobj(0,'Tag','Axes9'),'Position', [x,y,30,30],'Curvature',[1,1],'FaceColor',color);
line([x+15 x+15],[y+30 y+h],'LineWidth',2,'Color','Black','parent',findobj(0,'Tag','Axes9'))
and deleting everything with:
delete(findobj(findobj(0,'tag','Axes9'),'Type','Text','-or','type','rectangle','-or','type','line'))
Thank you for all your help

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by