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

23 Ansichten (letzte 30 Tage)
Abhinav
Abhinav am 31 Mai 2018
Kommentiert: Abhinav am 1 Jun. 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 Kommentare
Stephen23
Stephen23 am 1 Jun. 2018
Bearbeitet: Stephen23 am 1 Jun. 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 am 1 Jun. 2018
Thank you, Stephen! It worked.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Greg
Greg am 1 Jun. 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);

Weitere Antworten (0)

Kategorien

Mehr zu Two y-axis finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by