How to plot a filled rectangle without edge?

22 Ansichten (letzte 30 Tage)
Mr M.
Mr M. am 28 Sep. 2015
Beantwortet: DGM am 5 Okt. 2024
'EdgeColor', 'None' makes the outline width to be zero?

Akzeptierte Antwort

Toshia M
Toshia M am 4 Okt. 2024
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";

Weitere Antworten (2)

Image Analyst
Image Analyst am 28 Sep. 2015
Set the edge color to the same color value as the "FaceColor'

DGM
DGM am 5 Okt. 2024
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])

Community Treasure Hunt

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

Start Hunting!

Translated by