我正在关注教程here,看似最简单的例子 - 线性关系。
我不清楚非常宽松的进口,似乎无法展示我的情节。
downgrade
:
my_seaborn_test.py
在命令行上:
import numpy as np
import seaborn as sns
class SeabornTest(object):
def run_example(self):
sns.set(color_codes=True)
np.random.seed(sum(map(ord, "regression")))
tips = sns.load_dataset("tips")
sns.lmplot(x="size", y="tip", data=tips, x_estimator=np.mean)
我得到的只是沉默和警告:
python
from my_seaborn_test import SeabornTest
st = SeabornTest()
st.run_example()
答案 0 :(得分:2)
如上所述,在另一个答案中,在IPython中运行会让你看到它,但这不是唯一的方法。
您的方法的最后一行返回一个FacetGrid对象,该对象在您的方法退出后以静默方式被丢弃,这就是为什么您只看到生成的警告。您将需要对此对象执行某些操作(IPython会在生成时自动“打印”它。)
像这样改变你的方法:
def run_example(self):
sns.set(color_codes=True)
np.random.seed(sum(map(ord, "regression")))
tips = sns.load_dataset("tips")
sns.lmplot(x="size", y="tip", data=tips, x_estimator=np.mean).fig.show()
现在您的示例将打开一个显示图形的图形窗口
如果您想要保存它,请将最后一行更改为
sns.lmplot(x="size", y="tip", data=tips, x_estimator=np.mean).savefig("testing.png")
这种行为是matplotlib的典型行为,因此是在matplotlib之上构建的seaborn。您必须指定需要对图形对象执行的操作(IPython中的%matplotlib内联调用实际上是在告诉IPython捕获这些对象并显示它们。)