在mpld3 pip包中获取图

时间:2019-02-20 10:29:02

标签: python json matplotlib

我第一次尝试mpld3,并且想将图另存为json文件,因此我尝试了以下操作

f=open('my_first_graph.json', 'w+')
plt.hist(population_ages, bins, histtype='bar', rwidth=0.8)
fig = plt.Figure()
fig.show()
plt.title("Populations")
plt.legend()

mpld3.show()
mpld3.save_json(fig, fileobj=f)f= open('my_first_graph.json', 'w+')
plt.hist(population_ages, bins, histtype='bar', rwidth=0.8)
fig = plt.Figure()
fig.show()
plt.title("Populations")
plt.legend()

mpld3.show()
mpld3.save_json(fig, fileobj=f)

根据文档,save_json方法采用两个参数分别是文件对象和

matplotlib Figure instance

The figure to write to file.

所以我成功添加了文件对象,并创建了一个json文件,问题是它为空。

如何将我的图制作成图形并将其作为参数传递给方法,以成功将其解析为json?

1 个答案:

答案 0 :(得分:1)

您需要在代码中将fig = plt.Figure()更改为fig = plt.gcf()

plt.Figure正在创建一个新的空白图形,然后将其保存。这就是为什么您看到一个空的数字。

您想要做的是获取使用plt创建的当前图形的句柄,因此您应该使用gcf(获取当前图形)。