How to plot a filled rectangle without edge?

 Risposta accettata

Starting in R2024b, you can specify a name-value argument (EdgeColor="none") to remove the edge lines.
pcolor(rand(10,10),EdgeColor="none")
If you're running an earlier version of MATLAB, you can return the surface object as an output argument and set the EdgeColor property after you call pcolor.
figure
s = pcolor(rand(10,10));
s.EdgeColor = "none";

Più risposte (2)

Image Analyst
Image Analyst il 28 Set 2015
Set the edge color to the same color value as the "FaceColor'
Disregarding recent changes to options handling, this seems like it was always an adequately answerable question. It was just unclear what "filled rectangle" meant. I don't remember when dot notation started to be accepted here, but the same should have been practical using get()/set() in versions which might have been expected 10 years ago.
% use a rectangle object?
hr = rectangle('position',[1 1 15 10],'curvature',0.5);
hr.FaceColor = 'r';
hr.EdgeColor = 'none';
xlim([0 17])
ylim([0 12])
% use a patch object?
x = [1 1 16 16];
y = [1 11 11 1];
hp = patch(x,y,'r');
hp.EdgeColor = 'none';
xlim([0 17])
ylim([0 12])

Richiesto:

il 28 Set 2015

Risposto:

DGM
il 5 Ott 2024

Community Treasure Hunt

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

Start Hunting!

Translated by