sns.lmplot 有一个参数truncate 可以设置为False 以绘制绘图直到绘图限制。但是由于lmplot是一个图形级别的函数,它会创建自己的图形和轴,所以你不能轻易地预先设置限制。
将 sns.lmplot 替换为底层轴级函数 sns.regplot 可以在调用函数之前设置限制。注意regplot 只创建一个子图,而lmplot 可以通过其row=、col= 和/或hue= 参数创建一个完整的子图网格。
from matplotlib import pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
byMonth = pd.DataFrame({'Month': range(1, 13), 'twp': 13000 - np.random.randint(-800, 2000, 12).cumsum()})
sns.set_style("whitegrid")
plt.xlim([0, 12])
plt.ylim([6000, 15000])
sns.regplot(x='Month', y='twp', data=byMonth, truncate=False)
plt.show()
如果确实需要lmplot,您可以暂时将x 边距设置得更宽:
old_xmargin = mpl.rcParams['axes.xmargin']
mpl.rcParams['axes.xmargin'] = 0.2 # temporarily set default x-margin large enough
sns.lmplot(x='Month', y='twp', data=byMonth, truncate=False)
mpl.rcParams['axes.xmargin'] = old_xmargin
plt.xlim([0, 12])
plt.ylim([6000, 15000])