[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Legend and LineStyle with Plotyy
From: |
Torquil Macdonald Sørensen |
Subject: |
Legend and LineStyle with Plotyy |
Date: |
Fri, 08 Aug 2008 22:26:33 +0200 |
User-agent: |
Mozilla-Thunderbird 2.0.0.16 (X11/20080724) |
Hi, I am converting a Matlab-script to Octave. It uses plotyy, but I
can't get the legend to work, or different linestyles. I always try to
have understandable plots without colors, by using different linestyles.
In this case I want one solid curve, and one dashed curve.
Here is the result of my efforts this far (this is the contents of a
file "air_resistance.m". The problem is that both curves are solid, and
there is no legend. Note that it is only the failure of the legend
command that is the reason for the blue and green colours. By commenting
out legend, the colours are fine.
1;
% Differential equation
function dydt = f(y, t)
dydt = [y(2); -sign(y(2))*y(2)^2-y(1)];
endfunction
% Time span
t = linspace(0, 10, 100);
% Initial conditions
y0=[1; 0];
% Solve the differential equation
lsode_options('relative tolerance', 0.01);
y=lsode(@f, y0, t);
% Plot the solution
[ax,h1,h2]=plotyy(t,y(:,1),t,y(:,2));
xlabel('t');
title('Solution of d^2y/dt^2+sign(dy/dt)*(dy/dt)^2+y=0');
ylabel(ax(1), 'y');
ylabel(ax(2), 'dy/dt');
% Set graph styles
set(h1,'LineStyle','-') % Works in MatLab
set(h2,'LineStyle','--') % Works in MatLab
% Legend
legend([h1 h2],'y','dy/dt'); % Works in MatLab
%% Esthetics
% Set y-axis colors
set(ax(1),'ycolor','k')
set(ax(2),'ycolor','k')
% Set graph colors
set(h1,'Color','k')
set(h2,'Color','k')
Best regards
Torquil Sørensen
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Legend and LineStyle with Plotyy,
Torquil Macdonald Sørensen <=