Problem with plot graphics when using MarkerFaceColor in Windows 10

조회 수: 19 (최근 30일)
Matt086
Matt086 2022년 7월 14일
댓글: dpb 2022년 7월 17일
Hi everyone,
I recently started to experience an issue when plotting data using scripts that previously worked well. I believe it might have someting to do with my windows graphics setting rather than Matlab itself but I couldn't find any solution so far. Below I have plotted a generic graph to better explain it. When using 'MarkerFaceColor', instead of having the usual Markers filled by the selected colour they appear irregular and noisy. This problem only shows up when using circles as Markers but not with other symbols and it seems to be independent from the size of the objects, the gca background colour, or the selected MarkerFaceColor.
Below the code that I have use to generate the attached plot.
clearvars; close all; clc;
h=plot([1 2 3],[ 4 2 7],'ko','MarkerSize',12,'MarkerFaceColor','r');
xlim([0 4]); ylim([1 8])
  댓글 수: 5
Matt086
Matt086 2022년 7월 17일
Thanks a bunch Bruno!
That solved the issue for me
all the best
dpb
dpb 2022년 7월 17일
Try updating your graphics drivers, then...see which chipset your machine is using.

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

답변 (1개)

Rishita
Rishita 2022년 7월 15일
h = plot(x, y, 'o'); set(h, {'MarkerFaceColor'}, get(h,'Color'));
  댓글 수: 2
dpb
dpb 2022년 7월 15일
>> x=1:4;y=rand(size(x));
>> h = plot(x, y, 'o'); set(h, {'MarkerFaceColor'}, get(h,'Color'));
Error using matlab.graphics.chart.primitive.Line/set
Invalid parameter/value pair arguments.
>>
???
What was the point of this code snippet towards the OP Q?, @Rishita?
Matt086
Matt086 2022년 7월 16일
Not sure what you mean with this code, but in the case you were wondering what is the standard 'facecolor' for my markers, that is set to 'none'. If I plot without selecting any colours, I get a normal plot (see example below). This will give me a nice plot with normal (and empty) circles.
However, if later I add something like:
set(h,'markerfacecolor','r');
Then, I'll get the same graph above with weird looking markers, as shown in the original question.
clearvars; close all; clc;
h=plot([1 2 3],[ 4 2 7],'o','MarkerSize',20); xlim([0 4]); ylim([1 8]);
disp(get(h,'markerfacecolor'))
none

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

카테고리

Help CenterFile Exchange에서 Creating, Deleting, and Querying Graphics Objects에 대해 자세히 알아보기

제품


릴리스

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by