我遇到的问题与this question中所述的问题相同:我希望我的绘图具有本地png文件的背景。
使用plotly's example(可使用网络上的图像)即可。
使用带有或不带有绝对路径的本地图像的路径都行不通。
按照其他问题的答案进行编码无济于事。
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)
获取本地图像作为背景有多困难?你如何做到的?
答案 0 :(得分:0)
我需要阅读x
字典的y
和images
参数。在测试编码解决方案之前,我已经更改了y
,并且图像看起来超出了绘图范围。真傻将y
设置为3可以解决此问题。