[英]How to change spacing between only 1 pair of subplots in matplotlib
我有一個帶有多個子圖的圖形,我使用 gridspec 設置了這些子圖:
fig = Figure(figsize)
gs = gridspec.GridSpec(4, 3, height_ratios=(1, 1,1,0.1))
# Make axes on the subplots
self.ax_main = self.fig.add_subplot(gs[1:3, :2])
self.ax_x = self.fig.add_subplot(gs[0, :2],sharex=self.ax_main)
self.ax_y = self.fig.add_subplot(gs[1:3, 2],sharey=self.ax_main)
self.ax_cb = self.fig.add_subplot(gs[3, :2])
現在我想將 ax_cb 和 ax_main 之間的間距調整為一些手動設置的值。 這可能嗎? 如果是這樣,怎么辦?
將其稱為 ax_cb 聽起來就像您希望這是一個顏色條。 我不建議通過像這樣的額外 gridspec 列添加顏色條。 相當:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
fig, axs = plt.subplot_mosaic([['x', '.'], # '.' is empty
['main', 'y']],
gridspec_kw={'height_ratios':[1, 2],
'width_ratios':[2, 1]},
constrained_layout=True)
pc = axs['main'].pcolormesh(np.random.randn(20, 20))
fig.colorbar(pc, ax=axs['main'], location='bottom', pad=0.25)
plt.show()
pad參數以父軸為單位,在本例中為高度,您可以控制它與其他軸的距離。 但是,如果您使用 constrained_layout,您可能會發現沒有必要使用 pad。
您可以使用 gridspec 做同樣的事情,就像您在上面所做的那樣,但是 subplot_mosaic 通常更容易,而且人們似乎還不知道它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.