How to plot graph with three axsis (an example figure is included )
2 views (last 30 days)
Show older comments
Hi
I have three variables and would like to plot them as in the following figure which was produced in Excel.
The Red curve is plot by x,y axis (time vs rho). the blue curve is plotted by x,z axis (N vs rho) the yellow curve is plotted by x,z axis (N vs rho)
Thanks in advance.
0 Comments
Answers (5)
dpb
on 3 Jul 2014
...not sure what is the mistake I am doing. As you can see in the figure that the legend does not reflect the curves colors.
Don't plot the same stuff multiple times...you've thoroughly confused legend by having multiple lines of the same stuff.
A) Plot the data on the axes desired...
[hax hl1 hl2] = plotyy(rho,time,rho,[avg_n max_n],'semilogy','plot');
B) Then fixup the line handles to the desired properties...
set(hl1,'MarkerFaceColor',[0 0.498039215803146 0],...
'MarkerEdgeColor',[0 0.498039215803146 0],...
'Marker','>',...
'Color',[0 0.498039215803146 0],'MarkerSize',5,'LineWidth',2)
and so on for the two on the RH axis using hl2(1) and hl2(2)
Then legend will have only the three needed lines, not two or three copies of each.
Bander
on 4 Jul 2014
2 Comments
Image Analyst
on 4 Jul 2014
Edited: Image Analyst
on 4 Jul 2014
You've had 4 answers already. Did you overlook them?
dpb
on 4 Jul 2014
The revised one you posted looks ok to me...whatever it was that was the typo that created the error is/would be readily fixable; in fact, it looks like that's precisely what you did to generate the figure.
What, specifically, is wrong with it?
See Also
Categories
Find more on Two y-axis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!