[Matplotlib-users] Unusual layout (GridSpec?)

Paul Hobson pmhobson at gmail.com
Thu Sep 19 16:39:50 EDT 2019


I don't think I understand your problem fully, but a GridSpec sounds like
it'll fit the bill. We have a tutorial on it at our website. You'll
probably get the most mileage out of the width_ratios and height_ratios
parameters:
https://matplotlib.org/tutorials/intermediate/gridspec.html

On Thu, Sep 19, 2019 at 12:02 PM Bruno Pagani <bruno.pagani at astrophysics.eu>
wrote:

> Hi there,
>
> I’m trying to combine three graphs into one, but with some specific
> constraints on the layout. The three graphs are having the same x and y
> variables, but not over the same span. Each graph size should reflects
> that (e.g. if a change of 1 on the x axis is 1 cm on one graph, so
> should it be for the other ones). Also, I’d like the y label and ticks
> labels to be shared amongst the three graphs. Same goes for the colorbar
> (those are scatter plots) and the legend.
>
> Attached are the three figures (.pdf), and what the combined version
> should look like (target.png, but here it was obtained by removing parts
> by hand and stretching everything to fit).
>
> Below is some minimal code to produce three similarly looking graphs, if
> someone has an idea (GridSpec?) for this, I should be able to adapt it
> to my actual code:
>
> import matplotlib.pyplot as plt
> import numpy as np
>
>
> plt.scatter(np.repeat(np.linspace(0,3.5,15)[:,None],11,axis=1),np.repeat(np.linspace(0,0.5,11)[None,:],15,axis=0),c=np.random.random((15,11)),label="Some
> label")
>
>
> plt.scatter(np.repeat(np.linspace(0,6,25)[:,None],11,axis=1),np.repeat(np.linspace(0,0.5,11)[None,:],25,axis=0),c=np.random.random((25,11)),marker='*',label="Some
> other label")
>
>
> plt.scatter(np.repeat(np.linspace(0,11,23)[:,None],11,axis=1),np.repeat(np.linspace(0,0.5,11)[None,:],23,axis=0),c=np.random.random((23,11)),marker='D',label="Yet
> another label")
>
> Regards,
> Bruno
>
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users at python.org
> https://mail.python.org/mailman/listinfo/matplotlib-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/matplotlib-users/attachments/20190919/e029327d/attachment.html>


More information about the Matplotlib-users mailing list