我第一次玩seaborn,试图在不同的情节使用matplotlib subplots绘制不同列的熊猫数据框。下面的简单代码产生了期望的数字,但最后一幅图没有合适的y范围(它似乎与数据框中所有值的范围有关)。 有没有人有一个想法,为什么发生这种情况,以及如何防止它?谢谢。错误的y轴范围使用matplotlib subplots和seaborn
import matplotlib.pyplot as plt
import numpy as np
import pandas as pds
import seaborn as sns
X = np.arange(0,10)
df = pds.DataFrame({'X': X, 'Y1': 4*X, 'Y2': X/2., 'Y3': X+3, 'Y4': X-7})
fig, axes = plt.subplots(ncols=2, nrows=2)
ax1, ax2, ax3, ax4 = axes.ravel()
sns.set(style="ticks")
sns.despine(fig=fig)
sns.regplot(x='X', y='Y1', data=df, fit_reg=False, ax=ax1)
sns.regplot(x='X', y='Y2', data=df, fit_reg=False, ax=ax2)
sns.regplot(x='X', y='Y3', data=df, fit_reg=False, ax=ax3)
sns.regplot(x='X', y='Y4', data=df, fit_reg=False, ax=ax4)
plt.show()
更新:我修改了上面的代码:
fig, axes = plt.subplots(ncols=2, nrows=3)
ax1, ax2, ax3, ax4, ax5, ax6 = axes.ravel()
如果我绘制任意轴的数据,但是最后一个我得到什么我在寻找: 当然,我不想空框架。所有地块都以类似的视觉方面呈现数据。 当数据绘制在最后一个轴上时,它获得的y范围太宽,与第一个示例中一样。只有最后一个轴似乎有这个问题。任何线索?
谢谢你的可重复的例子。如果您指定了预期的y范围,这将有所帮助。 –
是的,抱歉,我应该更具体。我编辑我的帖子,以反映这一点的工作,创建6轴,只使用其中4个。这很丑,但你会看到我在找什么。谢谢。 – Volty