我正在尝试使用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()
任何帮助表示赞赏。