How to combine subplots so they share axes?

72 vues (au cours des 30 derniers jours)
Erik J
Erik J le 7 Oct 2018
I have a 2x2 subplot. All four subplots have the same x and y axes. I would like to combine the four subplots so that they share axes, making the plot less busy. So, for example, the east y axis of the west plots would be the west y axes for the east plots. Is there as simple way to do this? I can't seem to find anything. I'm using 2018a. Thank you all!
  5 commentaires
dpb
dpb le 8 Oct 2018
Oh...this morning I think I grok. You can reposition the four subplots so they overlay. You'll have to be creative in hiding which axes labels, etc., etc., ... are visible but could probably get something useful.
jonas
jonas le 8 Oct 2018
I'd go straight for one of the FEX functions like tight_subplot (my personal choice, but there are more recent ones).

Connectez-vous pour commenter.

Réponses (1)

jonas
jonas le 8 Oct 2018
Here's an example using the tight_subplot function from FEX
ax = tight_subplot(2,2,0,0.1,.1);hold on
set(ax,'color','none')
set(ax(3:4),'xcolor','none')
set(ax([1 3]),'ycolor','none')
set([ax.XRuler],'tickdirection','both')
set([ax.YRuler],'tickdirection','both')
for i=1:4
axes(ax(i));hold on
plot(rand(10,10))
end
linkaxes(ax,'xy')
. Just add some ticklabels!

Community Treasure Hunt

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

Start Hunting!

Translated by