MATLAB Answers

line vs plot: Multiple axes

6 views (last 30 days)
Pankaj
Pankaj on 10 Nov 2018
Commented: dpb on 10 Nov 2018
I tried the example code for Creating Chart with Multiple x-Axes and y-Axes from this link. The code is as follows:
figure
x1 = 0:0.1:40;
y1 = 4.*cos(x1)./(x1+2);
line(x1,y1,'Color','r')
ax1 = gca; % current axes
ax1.XColor = 'r';
ax1.YColor = 'r';
ax1_pos = ax1.Position; % position of first axes
ax2 = axes('Position',ax1_pos,...
'XAxisLocation','top',...
'YAxisLocation','right',...
'Color','none');
x2 = 1:0.2:20;
y2 = x2.^2./x2.^3;
line(x2,y2,'Parent',ax2,'Color','k')
But if I replace line function with plot, it does not give me desired output. Does line and plot work differently?

  1 Comment

dpb
dpb on 10 Nov 2018
You have already answered the question posed...the results weren't the same were they? :)
plot is a "high level" and line is a "low(er) level" function; with plot many behind the scenes details are done when the function is called while line simply puts the points on the existing axis.
At minimum,
hold(ax1,'on')
first or use the named property 'NextPlot' with plot as 'NextPlot','Add'

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!