Multiple X-axes non linear to each other
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am aware that one can generate a plot with two x-axes, is it also posibble to generate such a plot with the x-axes non linear to each other.
I have a vector which can be plotted against both a distance and an angle, but the relationship between these two is not linear. Is it possible to plot the data against both variables in a single plot?
The vectors are not x,y,z, they are rather: y=data; x1=angle; x2=distance;
Using hold on/off doesn't really answer my question nor suit my data.
I have tried using the Multiple-X and Y axis approach from MATLAB docs (<http://www.mathworks.se/help/matlab/creating_plots/using-multiple-x-and-y-axes.html)>. Using the coding below, but the display allows for misinterpretation for the relationship between angle and distance hinting at a linear relationship. What I need is that in the plot below, the axes are so that the curves overlap.
distance=0:12:9000;
angle=atan(distance/1000)*(180/(2*pi));
data=logspace(0,1,length(distance));
x1 = angle;
y1 = data;
x2 = distance;
y2 = data;
figure;
l1 = line(x1,y1,'Color','r');
ax1 = gca;
set(ax1,'XColor','r','YColor','r')
ax2 = axes('Position',get(ax1,'Position'),...
'XAxisLocation','top',...
'YAxisLocation','right',...
'Color','none',...
'XColor','k','YColor','k');
hl2 = line(x2,y2,'Color','k','Parent',ax2);
3 Kommentare
Antworten (1)
Azzi Abdelmalek
am 15 Jul. 2013
Bearbeitet: Azzi Abdelmalek
am 15 Jul. 2013
If your vectors are x, y and z
plot3(x,y,z)
In your case
plot3(distnace,angle,data)
%or maybe you are looking for two plots
plot(distance,data,'g')
hold on
plot(angle,data,'r')
hold off
7 Kommentare
Azzi Abdelmalek
am 15 Jul. 2013
Then, what you want to do is to plot (data,angle), then just add a second x-axis (distance). Is that what you want?
Siehe auch
Kategorien
Mehr zu Annotations finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!