2012-07-17 21 views
7

Estoy tratando de crear un gráfico de matlab con múltiples ejes x uno debajo de otro y solo un eje y.matlab múltiple x eje uno debajo de otro

He revisado el intercambio de archivos de Mathworks y solo hay sugerencias/scripts para múltiples ejes y. Me gustaría lograr algo como this question for R.

+1

Tal vez uno de ellos puede ayudarle a: - [Utilización X- múltiple y Y-Axes] (http://www.mathworks.co.uk/help/techdoc/creating_plots/f1-11215.html) - [linkaxes] (http://www.mathworks.co.uk/help/ techdoc/ref/linkaxes.html) – Drodbar

Respuesta

3

Si no necesita realmente para trazar datos sobre los ejes secundarios, y son simplemente utilizarlos para mostrar la escala (como el ejemplo se enlazó a), puede hacerlo simplemente la adición de una segunda (o tercera, etc.) eje en la posición apropiada y ajuste de la altura muy pequeña:

ax2 = axes('Position',[0.1 0.1 0.8 0.001],'Color','none') 

continuación, establezca las etiquetas señalizadoras apropiadamente.

4

Aquí es un ejemplo de solución si sólo se necesita un segundo eje para mostrar una escala diferente (solución de Jeff_K pero más elaborado):

first_axis = gca; 
sqz = 0.12; %// distance to squeeze the first plot 
set(first_axis, 'Position', get(first_axis, 'Position') + [0 sqz 0 -sqz ]); 
ax2 = axes('Position', get(first_axis, 'Position') .* [1 1 1 0.001] - [0 sqz 0 0],'Color','none'); 
scale_factor = 42; %// change this to your satisfaction 
xlim(get(first_axis, 'XLim') * scale_factor); 
set(ax2, 'XScale', get(first_axis, 'XScale')); %// make logarithmic if first axis is too 
Cuestiones relacionadas