Markers have white boxes over them when printed to png file

Here is my problem reduced down to 2 lines:
scatter(170.8*ones(1,8),[1:8],[100 200 300 400 500 600 700 800],[0 0 0; 1 0 0; 0 0 1; 1 0 1; 1 1 0; 0 1 1; .8 .8 .8; 0 0 0 ],'filled')
set(gca,'xlim',[0 250],'ylim', [0 8])
print('-dpng', '-r300', 'test')
Gives me markers that look like the attached file.
It does the same thing if I loop using plot. It works just fine if I plot all the symbols at once - but then I cannot alter the size/color accordingly. I am using 2014b, I have to because I need to use the char(9651) symbol in the text function.
opengl info gives me true for software and I've set the renderer to opengl.

7 Commenti

When you don't limit the axis it is printing properly.
As an experiment try using scatter3() instead of scatter(), and use a z value that is slightly greater than 0, to put the dots "above" the axis.
I was hoping this would solve it, but it still does the same thing with scatter3, and a z value of 0.001 (I also tried .1 just in case).
And yes, it only makes this error when I set the axis limits (which I need to do).
YOu can use plot instead of scatter and see....
I am using 2017a, and your code plots perfectly for me. I think the bug was fixed in newer versions. Can you upgrade your Matlab??
I tried with plot.....it shows still the same problem...

Accedi per commentare.

 Risposta accettata

Thanks to all of you for your input. Santhana is correct - there does not seem to be an issue with 2017a. The code worked just fine. Thanks!

Più risposte (1)

What happens, if you limit the axes limits at first?
AxesH = axes('xlim',[0 250],'ylim', [0 8], 'NextPlot', 'add');
drawnow;
scatter(170.8*ones(1,8), 1:8, [100 200 300 400 500 600 700 800], ...
[0 0 0; 1 0 0; 0 0 1; 1 0 1; 1 1 0; 0 1 1; .8 .8 .8; 0 0 0 ], 'filled')
?

3 Commenti

Markers are not as expected.....
Looks fine to me in R2016b:
but then so does Catherine's original code. I suspect she had later code that did something to put up a white box, like a patch(), fill(), area(), or text() command. The cyan spot having a corner in it is a big tip off.
Jan - I had the same result as KSSV, setting the axes limits first did not fix the problem. It really does appear to be a bug that was present during 2014b, but was fixed at a later time (from ImageAnalyst's comment - it was fixed at least by the 2016b release).
ImageAnalyst - the error was produced with code that had just those 2 lines, there was nothing else.
I've been swamped for time to convert all my old code up to 2017 changes, but it looks like I need to make that a priority.
Thanks all!

Accedi per commentare.

Categorie

Scopri di più su Graphics Performance in Centro assistenza e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by