我正在尝试使用pyplot创建一组具有共享x轴的子图。当图形简单并且所有x轴对齐时,这很好。然而,当我包括一个包含色条的子图时,它会压缩该特定子图的宽度以包括色条,导致子图不再共享x轴。
我在网上搜索了很多但没有成功。我尝试了几种不同的方法,但下面是最简单的示例。我在每个子图中绘制完全相同的数据,但在一个子图中绘制了一个色条。您可以看到数据不再沿着x轴对齐。
提前感谢您的帮助!
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
import numpy as np
import pandas as pd
x = np.linspace(0, 10, num=100)
y = x ** 2 + 10 * np.random.randn(100)
f, (ax1, ax2) = plt.subplots(2,1,sharex=True,figsize=(8,12))
im1 = ax1.scatter(x, y, c=y, cmap='magma')
divider = make_axes_locatable(ax1)
cax = divider.append_axes("right", size="5%", pad=.05)
plt.colorbar(im1, cax=cax)
im2 = ax2.plot(x, y,'.')
plt.show()