使用 plotly/dash 为绘图创建背景图像 [英] create background image for a plot using plotly/dash

查看:85
本文介绍了使用 plotly/dash 为绘图创建背景图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试为带有背景图像的 plotly/dash 创建一个绘图.绘图已创建,但背景图像未创建.文件和图片在同一个目录下.

I'm trying to create an plot for plotly/dash with a background image. The plot is created, but the background image doesn't. The file and the image are located in the same directory.

我错过了什么吗?

import base64
import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.graph_objects as go

IMAGE_FILENAME1 = 'link.png'
image1 = base64.b64encode(open(IMAGE_FILENAME1, 'rb').read())


fig = go.Figure(
    data=[go.Bar(y=[2, 1, 3])],
    layout_title_text="Native Plotly rendering in Dash"
)

fig.update_layout( images= [dict(
                    #source="KU.png",                    
                    source='data:image/png;base64,{}'.format(image1.decode()),
                    #xref="container",
                    #yref="container",
                    layer="below")])


app = dash.Dash(__name__)

app.layout = html.Div([
    dcc.Graph(id="graph", figure=fig),
])

app.run_server(debug=True)

获取无花果的属性:

fig
Figure({
    'data': [{'type': 'bar', 'y': [2, 1, 3]}],
    'layout': {'images': [{'layer': 'below',
                           'source': ('data:image/png;base64,iVBORw0K' ... 'Q7B0QA13afSQHVAAAAAElFTkSuQmCC')}],
               'template': '...',
               'title': {'text': 'Native Plotly rendering in Dash'}}

推荐答案

我的建议可能无法解决问题,因为不清楚图像不显示什么样的图形.我试图用你的代码显示我的图像.我修改的唯一代码是下面一行.

My suggestion may not solve the problem, since it is unclear what kind of graph the image does not show. I have tried to display the image I have with your code. The only code I modified is the following one line.

import base64
import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.graph_objects as go
from jupyter_dash import JupyterDash 

IMAGE_FILENAME1 = './data/plotly_graphing_libraries_1.png'
image1 = base64.b64encode(open(IMAGE_FILENAME1, 'rb').read())

app = JupyterDash(__name__)
# app = dash.Dash(__name__)

fig = go.Figure(data=[go.Bar(x=[0,1,2], y=[2, 1, 3])], layout_title_text="Native Plotly rendering in Dash")

fig.add_layout_image(dict(source='data:image/png;base64,{}'.format(image1.decode()),
                          xref="x",
                          yref="y",
                          x=0, y=3,
                          sizex=2,
                          sizey=2, 
                          sizing="stretch",
                          opacity=0.5,
                          layer="below"))

fig.update_layout(template="plotly_white")

app.layout = html.Div(children=[
    dcc.Graph(id="graph", figure=fig),
])

app.run_server(mode='inline')

这篇关于使用 plotly/dash 为绘图创建背景图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆