Problem with plot graphics when using MarkerFaceColor in Windows 10

18 visualizzazioni (ultimi 30 giorni)
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 Commenti
Matt086
Matt086 il 17 Lug 2022
Thanks a bunch Bruno!
That solved the issue for me
all the best
dpb
dpb il 17 Lug 2022
Try updating your graphics drivers, then...see which chipset your machine is using.

Accedi per commentare.

Risposte (1)

Rishita
Rishita il 15 Lug 2022
h = plot(x, y, 'o'); set(h, {'MarkerFaceColor'}, get(h,'Color'));
  2 Commenti
dpb
dpb il 15 Lug 2022
>> 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 il 16 Lug 2022
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

Accedi per commentare.

Categorie

Scopri di più su Creating, Deleting, and Querying Graphics Objects in Help Center e File Exchange

Prodotti


Release

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by