将熊猫df.plot()放入matplotlib图中?

时间:2018-10-22 00:17:39

标签: python-3.x pandas matplotlib flask

我是创建Pandas和Matplotlib图的新手。最近,我尝试使用df.plot()创建图,并在Jupyter笔记本中获取此图:image

我还试图使该图从烧瓶中导出。我确实设法使用以下方法获得了虚拟图的图像:

fig = plt.figure()
axis = fig.add_subplot(1, 1, 1)
xs = range(100)
ys = [random.randint(1, 50) for x in xs]
axis.plot(xs, ys)

canvas = FigureCanvas(fig)
output = BytesIO()
canvas.print_png(output)
response = make_response(output.getvalue())
response.mimetype = 'image/png'
return response

问题是我找不到将两个部分连接在一起的方法。当我尝试时,总是得到空白的白色背景图像。

已编辑:这是我的代码。我怀疑我做错了什么。我仍然得到空白图片

df = pd.read_sql(...)
fig = plt.figure()
ax=df_stats.plot(x='category', y='number_of_comments', kind='bar', legend=False, grid=True, figsize=(8, 5))
plt.title("Number of comments per category")
plt.ylabel('# of Occurrences', fontsize=12)
plt.xlabel('category', fontsize=12)

df.plot(ax=ax)
#axis = fig.add_subplot(1, 1, 1)
#xs = range(100)
#ys = [random.randint(1, 50) for x in xs]
#axis.plot(xs, ys)

canvas = FigureCanvas(fig)
output = BytesIO()
canvas.print_png(output)
response = make_response(output.getvalue())
response.mimetype = 'image/png'
return response

Edited2 :好像我找到了解决方案。代替顶部的fig = plt.figure(),我在plot()之后替换为fig = plt.gcf(),现在可以使用了。

感谢您阅读我的问题。任何建议表示赞赏。

0 个答案:

没有答案