Plotly Ipython - display(HTML) 函数不显示 html 文件

Arv*_*mar 5 python ipython plotly

我正在使用 plotly 库创建图像并尝试以 HTML 显示。我已将图像格式化为 HTML 格式。但是display(HTML(report_html))代码没有显示 HTML 页面。

我正在使用 python 3.5 和 pycharm IDE。我没有使用 iPython 笔记本。

源代码:

 from IPython.display import display, HTML, Image
 import plotly.plotly as py
 from plotly.offline import init_notebook_mode
 init_notebook_mode()

 data = go.scatter(x=df['date'], y=i, name = long_name['value'])
 figures = [data]
 images = [base64.b64encode(py.image.get(figure, width=width,height=height)).decode('utf-8') for figure in figures]

  report_html = ''
  for image in images:
      _ = template
      _ = _.format(image=image, caption='', width=width, height=height)
      report_html += _

  display(HTML(report_html))
Run Code Online (Sandbox Code Playgroud)

我没有收到任何错误。我只是得到以下输出

IPython.core.display.HTML 对象

Nar*_*ali 2

抱歉回复晚了,该代码非常适合我,让我分享我的示例,基本区别是我使用了而figure object under plotly.graph_objs不是figures = [data]

代码:

from IPython.display import display, HTML, Image
import plotly.plotly as py
import base64
import plotly.graph_objs as go
py.sign_in('<<username here>>', '<<api key here>>')

# required variables
width=500
height=300

# template not provided so created my own
template = """
<div class="row">
    <div class="col-xs-12" style="text-align:center">
        {caption}
    </div>
    <div class="col-xs-12">
        <img src="data:image/png;base64,  {image}" alt="Red dot"/>
    </div>
</div>
"""

# data = go.scatter(x=df['date'], y=i, name = long_name['value'])

# using my sample data instead
trace = go.Bar(x=[2, 4, 6], y= [10, 12, 15])

# layout can also be provided, I am giving as blank
layout = dict()

# figures = [data]
# changing the above commented line to plotly figure object
fig = go.Figure(data=[trace], layout=layout)

# defining list which will contain all the plot objects
figures = []
figures.append(fig)

images = [base64.b64encode(py.image.get(figure, width=width,height=height)).decode('utf-8') for figure in figures]

report_html = ''
for image in images:
    _ = template
    _ = _.format(image=image, caption='', width=width, height=height)
    report_html += _

display(HTML(report_html))
Run Code Online (Sandbox Code Playgroud)