Multiple X-axes non linear to each other

2 visualizaciones (últimos 30 días)
Marina
Marina el 15 de Jul. de 2013
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 comentarios
Marina
Marina el 15 de Jul. de 2013
Noted!, I've made nicer looking vectors
Marina
Marina el 15 de Jul. de 2013
I am looking for something similar to this, but for the x-axes only: http://i.stack.imgur.com/88llX.gif

Iniciar sesión para comentar.

Respuestas (1)

Azzi Abdelmalek
Azzi Abdelmalek el 15 de Jul. de 2013
Editada: Azzi Abdelmalek el 15 de Jul. de 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 comentarios
Azzi Abdelmalek
Azzi Abdelmalek el 15 de Jul. de 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?
Marina
Marina el 15 de Jul. de 2013
Yes BUT that the second axis reflects the relationship between angle and distance.
Because I do know how and have done already a plot with two x-axes (That's the code attached to the question), whats missing, is for the second axis to reflect its relationship with the primary axis.

Iniciar sesión para comentar.

Categorías

Más información sobre Two y-axis en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by