mpld3:stackplot导致序列化错误

时间:2018-09-22 15:37:19

标签: mpld3

我正在尝试使用mpld3渲染堆栈图,并且在fig_to_html尝试序列化时遇到问题。似乎在这里描述了NumPy的问题:

NumPy array is not JSON serializable

  

回溯(最近一次通话最后一次):文件“ main.py”,第32行,在          mpld3.show()文件“ /usr/local/lib/python3.6/site-packages/mpld3/_display.py”,第358行,   在表演       html = fig_to_html(fig,** kwargs)文件“ /usr/local/lib/python3.6/site-packages/mpld3/_display.py”,第251行,   在fig_to_html       Figure_json = json.dumps(figure_json,cls = NumpyEncoder),文件“ /usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/init .py”,   238行,转储       ** kw).encode(obj)文件“ /usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/encoder.py”,   第199行,编码       块= self.iterencode(o,_one_shot = True)文件“ /usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/encoder.py”,   第257行,以iterencode       返回_iterencode(o,0)文件“ /usr/local/lib/python3.6/site-packages/mpld3/_display.py”,第138行,   在默认情况下       返回json.JSONEncoder.default(self,obj)文件“ /usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/encoder.py”,   第180行,默认情况下       o。名称)TypeError:“ ndarray”类型的对象不可JSON序列化

这是我的绘图代码供参考; plt.show()工作正常。这似乎只是stackplot的问题,常规图就可以了。

# get x,y,labels

# do plotting
fig, (ax1, ax2) = plt.subplots(2, 1)
#fig, (ax1) = plt.subplots(1, 1)
for yval in range(len(y)):
    ax1.plot(x, y[yval], label=labels[yval])

ax1.legend(loc='upper left')
ax1.ticklabel_format(useOffset=False)

ax2.stackplot(x, y, labels=labels)
ax2.legend(loc='upper left')
ax2.ticklabel_format(useOffset=False)

#plt.show()
mpld3.show()

任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

看起来像是以下内容的重复: MPLD3 with Python error

由于不再维护mpld3,因此可能需要。