显示字典中的海洋图

时间:2018-07-27 06:21:57

标签: python dictionary matplotlib jupyter-notebook seaborn

我需要将图存储在这样的字典中:

import matplotlib.pyplot as plt
import seaborn as sns

test = dict()
test['a'] = sns.lmplot(x="sepal_length", y="sepal_width", hue="species",
                       truncate=True, height=5, data=sns.load_dataset("iris"))

但是如何显示dict中的情节?

test['a']返回类似<seaborn.axisgrid.FacetGrid at 0x233011bfe80>的图形对象,但不显示图形本身。

test['a']
plt.show()

也不显示图。

有人建议如何显示字典中的情节吗?

基于给出的答案,我尝试将dict保存到一个pickle文件中,但是显示pickle中的图会出现错误:

import pickle
import matplotlib.pyplot as plt
import seaborn as sns

test = dict()
test['a'] = sns.lmplot(x="sepal_length", y="sepal_width", hue="species",
                       truncate=True, data=sns.load_dataset("iris"))
plt.close()

# store dict in pickle file
outfile = open('test.pkl', 'wb')
pickle.dump(test, outfile)
outfile.close()

# delete dictionary
del test

# load dictionary form pickle file
infile = open('test.pkl', 'rb')
test = pickle.load(infile)
infile.close()

test['a'].fig

1 个答案:

答案 0 :(得分:1)

调用关联的fig似乎足够了:

test['a'].fig

在Jupyter笔记本中为我工作。

btw:必须删除高度参数

完全改变问题不是很好。但是,看来您的问题仅与木星有关! 选中此issue

一种解决方案是在第一个单元格前添加%matplotlib notebook