plotyy: changing the line-style to 'o--'

29 visualizaciones (últimos 30 días)
Abhinav
Abhinav el 31 de Mayo de 2018
Comentada: Abhinav el 1 de Jun. de 2018
I have three line-plots on left y-axis and a bar plot on the right y-axis. how do I change line-style to 'o--' for every line on left y-axis. I am using following code, but it shows an error of 'Bad property value found'.
[Ax,hl1,hl2]=plotyy(time_step,surfaceflow1,prcp_datenum,prcp_excess,'line','bar');
set(hl1,'linestyle','--','linewidth',3) % gives error if I use 'o--' instead of '--'
hold(Ax(1))
plot(Ax(1),time_step,surfaceflow28,'o--','color','r','linewidth',3)
plot(Ax(1),time_step,surfaceflow59,'o--','color',[0,0.5,0],'linewidth',3)
datetick(Ax(1),'x','mmmm dd')
datetick(Ax(2),'x','mmmm dd HH:MM')
I have attached the figure that I get with this code and other formattings. I am not able to figure out a way to change the line style of blue-curve to 'o--' as in other cases.
  2 comentarios
Stephen23
Stephen23 el 1 de Jun. de 2018
Editada: Stephen23 el 1 de Jun. de 2018
@Abhinav: what you call line style is actually called the LineSpec or Line Specification. The LineSpec is a shorthand which lets you specify the color, line style, and marker shape. It can only be used when calling some high-level plotting functions (e.g. plot). You can read more about it here:
The Line Style only defines the line itself: it can be solid, dashed, dotted, or dot-dash (specified by '-', '--', ':', '-.' respectively). You will find the permitted LineStyles listed in the line properties, along with all of the permitted Markers. If you want to set the Marker then you need to set the Marker property, not the LineStyle property.
Abhinav
Abhinav el 1 de Jun. de 2018
Thank you, Stephen! It worked.

Iniciar sesión para comentar.

Respuesta aceptada

Greg
Greg el 1 de Jun. de 2018
'o--' and others are shortcut inputs to plot commands when you don't pass a parameter. In this case, you are specifying a marker and a line style. When you pass the 'LineStyle' parameter, you can't include a marker identifier (the 'o'). Try:
set(hl1,'linestyle','--','marker','o','linewidth',3);

Más respuestas (0)

Categorías

Más información sobre Two y-axis en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by