Scatter plot does not display point 0,0 when double precision
    6 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    chris
 am 23 Apr. 2014
  
    
    
    
    
    Kommentiert: AJ von Alt
    
 am 23 Apr. 2014
            I have the following code which works as intended, plotting 3 points.
x = [0 0; 12 0; 6 6];
scatter(x(:,1), x(:,2), 100, 'fill');
However, when I interject the following line
x = 1.01 * x;
which effectively turns everything into double precision, then the point 0,0 does not display
why is that, and how can I make it so that it also displays?
Thanks in advance!
0 Kommentare
Akzeptierte Antwort
  José-Luis
      
 am 23 Apr. 2014
        Trying to understand the mess that is Matlab's graphics engine is a real pain. I can only recommend a workaround:
x = [0 0; 12 0; 6 6];
figure(1)
scatter(x(:,1), x(:,2), 100, 'fill');
x = 1.01 * x;
figure(2)
scatter(x(:,1), x(:,2), 100, 'fill'); %Now readjust the axes so you can see what you actually plotted:
set(gca,'XLim',x([1 2],1)); %you can use min() max() in order to avoid hard coding the indices.
set(gca,'YLim',x([1 3],2));
0 Kommentare
Weitere Antworten (3)
  AJ von Alt
    
 am 23 Apr. 2014
        This looks like an issue with the Painters renderer. Switching to OpenGL resolves the issue on my end.
x = [0 0; 12 0; 6 6];
figure('renderer','OpenGL')
scatter(x(:,1), x(:,2), 100, 'fill');
y = 1.01 * x;
figure('renderer','OpenGL')
scatter(y(:,1), y(:,2), 100, 'fill');
2 Kommentare
  AJ von Alt
    
 am 23 Apr. 2014
				The renderer is used to draw the plot in the figure. It is defined independently for each figure so you will need to specify it every time you create one.
You can change the renderer of the current figure to "OpenGL" using the command:
    set( gcf , 'renderer' , 'OpenGL' )
To read more about renderers see: http://www.mathworks.com/help/releases/R2013b/matlab/ref/figure_props.html#Renderer
Siehe auch
Kategorien
				Mehr zu Graphics Performance finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



