Problem with plot graphics when using MarkerFaceColor in Windows 10

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

Well, that code seemed to have generated the expected result -- what generated the first?
I'd start w/ ensuring your video drivers are up to date -- you can change the 'renderer' setting to software/hardware and see if makes any difference.
W/ that old of a release that worked initially, almost certainly the issue is one that the system has had some updates installed that changed something in the graphics drivers...
Hi, thanks for your reply.
The first picture was generated by the very same code on my computer, while the second one was generated on this page by the in-built compiler of MATLAB Answers. My video drivers were already updated to the last version but that didn't affect the final picture.
all the best
Can you do this then rerun your code
opengl software
Thanks a bunch Bruno!
That solved the issue for me
all the best
Try updating your graphics drivers, then...see which chipset your machine is using.

Accedi per commentare.

Risposte (1)

h = plot(x, y, 'o'); set(h, {'MarkerFaceColor'}, get(h,'Color'));

2 Commenti

>> 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?
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 Centro assistenza e File Exchange

Prodotti

Release

R2017b

Richiesto:

il 14 Lug 2022

Commentato:

dpb
il 17 Lug 2022

Community Treasure Hunt

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

Start Hunting!

Translated by