Вот решение с использованием третьей оси. Для этого решения сначала включите коробки как предложено
set(ax(1),'Box','off') % Turn off box of axis 1, which removes its right-hand ticks
set(ax(2),'Box','off') % Turn off box of axis 2, which removes its left-hand ticks
Теперь дополнительно добавьте третью ось в той же позиции.
ax3 = axes( 'Position', get(ax(1), 'Position'),...
'XAxisLocation', 'top',...
'XTickLabel', my_XTickLabels_on_top,...
'YColor', 'none',...
'YTick', [],...
'YTickLabel', [],...
'Color', 'none', ...
cell_with_further_pValPairs{:});
Можно также связать ось 'x'
всех объектов осей. Лимиты и отметки будут соответственно обновлены.
linkaxes([ax ax3], 'x')
Это, однако, не будет правильно обновлять галочки третьей оси , если вы не напишите правильный обратный вызов, который стал еще сложнее сделать в MATLAB 2014b
и выше
Чтобы сделать «настоящие» оси текущими осями, можно использовать
axes(ax)
Пример: * * один тысяча двадцать-одна
![enter image description here](https://i.stack.imgur.com/M4Cgl.png)