我正在尝试绘制一个包含两个子图、一个seaborn 热图和简单的matplotlib 线的图形。然而,当共享两个图的 x 轴时,它们没有对齐,如下图所示:
看起来问题与这篇文章类似,但是在显示时ax[0].get_xticks()我ax[1].get_xticks()得到了相同的位置,所以我不知道要更改什么。在我的图片中,偏差似乎超过 0.5。
我究竟做错了什么?
我用来绘制该图的代码如下:
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
M_1=np.random.random((15,15))
M_2=np.random.random((15,15))
L_1=np.random.random(15)
L_2=np.random.random(15)
x=range(15)
cmap = sns.color_palette("hot", 100)
sns.set(style="white")
fig, ax = plt.subplots(2, 1, sharex='col', figsize=(10, 12))
ax[0].plot(x,L_1,'-', marker='o',color='tab:orange')
sns.heatmap(M_1, cmap=cmap, vmax=np.max(M_1), center=np.max(M_1)/2., square=False, ax=ax[1])
Run Code Online (Sandbox Code Playgroud)