使用 mpld3 将图形保存到 .html
Saving graphs to .html using mpld3
我正在尝试使用 seaborn 和 mpld3 在 .html 文件中显示图表。当我使用命令 mpld3.show()
时,会弹出一个新的 window 并且图表会显示在创建的本地网络服务器中(如文档所述)。但是,当尝试将其保存在 .html 文件中时,图形变为空,但我可以看到一些图标,例如移动和缩放可用....
和mpld3.show()
sns.set(style="whitegrid")
sns.barplot(x=df.index.tolist(), y=df['Salário'])
mpld3.show()
画出它应该是怎样的:
正在尝试使用 save_html()
保存到 .html 文件:
sns.set(style="whitegrid")
sns.barplot(x=df.index.tolist(), y=df['Salário'])
fig = plt.figure()
mpld3.save_html(fig, "./templates/graph_exp.html")
带有工作图标的错误图表
谁能帮我把这张图保存到 .html 文件后显示正常? :)
我不确定 save_html()
是如何工作的,但这是我在我的烧瓶网站上使用的。
如果您不需要保存图像,此解决方案有效。
import base64
import io
pngImage = io.BytesIO()
FigureCanvas(fig).print_png(pngImage) #fig is my matPlotlib instance of Figure()
# Encode PNG image to base64 string
image = "data:image/png;base64,"
image += base64.b64encode(pngImage.getvalue()).decode('utf8')
然后在 html 中使用:
<img src="{{image}}">
我正在尝试使用 seaborn 和 mpld3 在 .html 文件中显示图表。当我使用命令 mpld3.show()
时,会弹出一个新的 window 并且图表会显示在创建的本地网络服务器中(如文档所述)。但是,当尝试将其保存在 .html 文件中时,图形变为空,但我可以看到一些图标,例如移动和缩放可用....
和mpld3.show()
sns.set(style="whitegrid")
sns.barplot(x=df.index.tolist(), y=df['Salário'])
mpld3.show()
画出它应该是怎样的:
正在尝试使用 save_html()
保存到 .html 文件:
sns.set(style="whitegrid")
sns.barplot(x=df.index.tolist(), y=df['Salário'])
fig = plt.figure()
mpld3.save_html(fig, "./templates/graph_exp.html")
带有工作图标的错误图表
谁能帮我把这张图保存到 .html 文件后显示正常? :)
我不确定 save_html()
是如何工作的,但这是我在我的烧瓶网站上使用的。
如果您不需要保存图像,此解决方案有效。
import base64
import io
pngImage = io.BytesIO()
FigureCanvas(fig).print_png(pngImage) #fig is my matPlotlib instance of Figure()
# Encode PNG image to base64 string
image = "data:image/png;base64,"
image += base64.b64encode(pngImage.getvalue()).decode('utf8')
然后在 html 中使用:
<img src="{{image}}">