Wspace management for matplotlib subtitles

I was wondering: I have a plot 1 row, 4 column. However, the first three subheadings have the same length yaxes(i.e., they have the same range and represent the same thing). Fourth, no.

What I want to do is change the wspacefirst three graphs so that they touch (and are grouped), and then the fourth plot runs a bit without overlapping the shortcut label, etc.

I could make it so simple with a little editing photoshop... but I would like to have an encoded version. How can i do this?

+4
source share
1 answer

, GridSpec. wspace .

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import numpy as np

fig = plt.figure()
# create a 1-row 3-column container as the left container
gs_left = gridspec.GridSpec(1, 3)

# create a 1-row 1-column grid as the right container
gs_right = gridspec.GridSpec(1, 1)

# add plots to the nested structure
ax1 = fig.add_subplot(gs_left[0,0])
ax2 = fig.add_subplot(gs_left[0,1])
ax3 = fig.add_subplot(gs_left[0,2])

# create a 
ax4 = fig.add_subplot(gs_right[0,0])

# now the plots are on top of each other, we'll have to adjust their edges so that they won't overlap
gs_left.update(right=0.65)
gs_right.update(left=0.7)

# also, we want to get rid of the horizontal spacing in the left gridspec
gs_left.update(wspace=0)

:

enter image description here

, - .., .

GridSpec . :

http://matplotlib.org/users/gridspec.html

+6

Source: https://habr.com/ru/post/1548351/


All Articles