MATLAB Answers

2

Plot style '--' in 2014b

Asked by Stephen Politzer-Ahles on 14 Jan 2015
Latest activity Answered by Spase
on 5 Jun 2016
Plot styles like '--' and ':' are no longer working properly for me after I upgraded to 2014b. Specifically, if I plot a vector that has lots of elements, then it still shows up as a solid line even if I specify a different style. For example, this code yields the image following for me, where in the lower subplot you can see that the line looks like a solid line even though it is supposed to be dashed:
figure; hold on;
vectorlengths = [50 500];
titles = {'short vector' 'long vector'};
for i=1:2
x = linspace(0, 2*pi, vectorlengths(i));
y1 = sin(x);
y2 = cos(x);
subplot(2,1,i); plot(x, [y1;y2], '--', 'LineWidth', 2); title( titles(i) );
end;
It's not quite as simple as that---this problem also is affected by the slope of the line, so for more complicated squiggly lines the style actually changes at different points along the curve, as you can especially see from the green line in the center subplot of this figure and the red line in the left subplot:
What is causing this behavior, and how can I properly control the line styles? What I would like is a dashed line that stays dashed (which is the behavior I got in 2014a and earlier).
Thanks, Steve

  3 Comments

Adam
on 14 Jan 2015
I just ran your sample code at the top and it looks fine for me (the long vector plot looks identical to the short vector one, with dashes) so I'm not sure what is happening in your case.
What is the result of typing:
opengl info
in your command line?
I don't really know anything about graphics hardware vs software stuff, but R2014b (and maybe earlier versions) does have various options:
I am using hardware OpenGL. I just switched to software OpenGL and re-ran your code and the result for the long vector looked awful (image should now be attached) - parts of the curve solid, parts of it missing completely.
Which setting to use will likely depend on your graphics card though. Hopefully someone who knows more about this than me can help explain (or that webpage may help you)
Adam: thanks, I just tried switching to hardware opengl (opengl info indicated that I was using software opengl) and this seems to have fixed it (so far).
Best, Steve
Adam
on 14 Jan 2015
That is good then. I will add that as an answer then in case other people come to this thread looking for a solution and don't look at all the comments.

Sign in to comment.

3 Answers

Answer by Adam
on 14 Jan 2015
 Accepted Answer

Try switching to use hardware opengl using:
opengl( 'hardware' )
(More details in my comment to the original question).

  1 Comment

Odd that hardware is OK but software not. It was the other way round for the problem I experienced!

Sign in to comment.


Answer by David Young
on 14 Jan 2015

I think you should contact MathWorks about this. I've also experienced significant problems with plot() in R2014b (in my case with the '.' style), which they said they were aware of.

  0 Comments

Sign in to comment.


Answer by Spase
on 5 Jun 2016

I have Matlab 2015b on Mac, and opengl( 'hardware' ) didn't make any difference.. I still experience the same problem as Steve. Moreover, seems like in Mac 'hardware' is the only option for OpenGL. Spase

  0 Comments

Sign in to comment.