Plotly Ipython - 显示(HTML)功能不显示html文件

时间:2017-08-16 02:23:43

标签: 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))

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

  

IPython.core.display.HTML对象

1 个答案:

答案 0 :(得分:1)

对不起,迟到的回复,代码对我来说非常合适,让我分享一下我的样本,基本的不同之处在于我使用的是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))