Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

matlab multiple x axis one below another

Tags:

matlab

axis

I am trying to create a matlab plot with multiple x-axis one below another and just one y-axis.

I have looked through the Mathworks file exchange and there are only suggestions/scripts for multiple y-axis. I would like to achieve something like this question for R.

like image 224
shrikanth Avatar asked Jul 17 '12 22:07

shrikanth


1 Answers

Here is an example solution if you only need a second axis for showing a different scale (Jeff_K's solution but more worked out):

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
like image 52
johan Avatar answered Nov 15 '22 18:11

johan