使用本地文件中的背景图像绘制布局



我遇到了与本问题中所述相同的问题:我希望我的绘图具有来自本地png文件的背景。

使用plotly的例子,使用来自网络的图像,是可行的。

使用本地图像的路径,无论是否使用绝对路径,都不起作用。

根据另一个问题的答案进行编码没有帮助。

import base64
import os
#import plotly.plotly as py
import plotly.graph_objs as go
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
import numpy as np
trace1= go.Scatter(x=[0,0.5,1,2,2.2],y=[1.23,2.5,0.42,3,1])
with open(os.getcwd() + "/resources/office_map.png", "rb") as image_file:
encoded_string = base64.b64encode(image_file.read()).decode()
# Add the prefix that plotly will want when using the string as source
encoded_image = "data:image/png;base64," + encoded_string
layout= go.Layout(
title='My title',
images= [dict(
source= encoded_image,
xref= "x",
yref= "y",
x= 0,
y= 10,
sizex= 744,
sizey= 1052,
sizing= "stretch",
opacity= 0.5,
layer= "below")])
fig=go.Figure(data=[trace1],layout=layout)
plot(fig)

获取本地图像作为背景有多难?你是怎么做到的?

我需要了解images字典的xy参数。在测试编码解决方案之前,我更改了y,图像出现在绘图之外。真傻。将y设置为3会修复它。

最新更新