我确定我忘记了一些非常简单的内容,但是我无法获得某些与Seaborn合作的计划。
如果我做:
import seaborn as sns
然后,我通常使用matplotlib创建的任何图都将获得Seaborn样式(背景为灰色网格)。
但是,如果我尝试执行以下示例之一,例如:
In [1]: import seaborn as sns In [2]: sns.set() In [3]: df = sns.load_dataset('iris') In [4]: sns.pairplot(df, hue='species', size=2.5) Out[4]: <seaborn.axisgrid.PairGrid at 0x3e59150>
pairplot函数返回一个PairGrid对象,但该图未显示。
我有点困惑,因为matplotlib似乎可以正常运行,并且Seaborn样式已应用于其他matplotlib图,但是Seaborn函数似乎没有任何作用。有人知道这可能是什么问题吗?
使用seaborn创建的图需要像普通的matplotlib图一样显示。可以使用
plt.show()
来自matplotlib的功能。
最初,我发布了使用seaborn(sns.plt.show())中已导入的matplotlib对象的解决方案,但是这被认为是不好的做法。因此,只需直接导入 matplotlib.pyplot 模块并使用
sns.plt.show()
import matplotlib.pyplot as plt plt.show()
如果使用IPython笔记本,则可以调用内联后端以消除在每次绘制后调用show的必要性。各自的魔力是
%matplotlib inline