10

嗨,我正在使用 Python、Bottle 生成图表。但是,这会返回一个 url。喜欢:

https://plot.ly/~abhishek.mitra.963/1

我想将整个图表粘贴到我的网页中,而不是提供链接。这可能吗?

我的代码是:

import os
from bottle import run, template, get, post, request
from plotly import plotly

py = plotly(username='user', key='key')

@get('/plot')
def form():
    return '''<h2>Graph via Plot.ly</h2>
              <form method="POST" action="/plot">
                Name: <input name="name1" type="text" />
                Age: <input name="age1" type="text" /><br/>
                Name: <input name="name2" type="text" />
                Age: <input name="age2" type="text" /><br/>
                Name: <input name="name3" type="text" />
                Age: <input name="age3" type="text" /><br/>                
                <input type="submit" />
              </form>'''

@post('/plot')
def submit():
    name1   = request.forms.get('name1')
    age1    = request.forms.get('age1')
    name2   = request.forms.get('name2')
    age2    = request.forms.get('age2')
    name3   = request.forms.get('name3')
    age3    = request.forms.get('age3')

    x0 = [name1, name2, name3];
    y0 = [age1, age2, age3];
    data = {'x': x0, 'y': y0, 'type': 'bar'}
    response = py.plot([data])
    url = response['url']
    filename = response['filename']
    return ('''Congrats! View your chart here <a href="https://plot.ly/~abhishek.mitra.963/1">View Graph</a>!''')

if __name__ == '__main__':
    port = int(os.environ.get('PORT', 8080))
    run(host='0.0.0.0', port=port, debug=True)
4

1 回答 1

11

是的,嵌入是可能的。这是您可以使用的 iframe 片段(与任何 Plotly URL):

<iframe width="800" height="600" frameborder="0" seamless="seamless" scrolling="no" src="https://plot.ly/~abhishek.mitra.963/1/.embed?width=800&height=600"></iframe>

该图嵌入在专门用于嵌入该图的 URL 中。所以在这种情况下,你的情节是https://plot.ly/~abhishek.mitra.963/1/。嵌入它的 URL 是通过将 .embed 添加到 URL 中:https://plot.ly/~abhishek.mitra.963/1.embed

您可以更改该片段中的宽度/高度尺寸。要获取 iframe 代码并查看不同的大小,您可以单击绘图上的嵌入图标,或者在共享它时生成代码。这是嵌入选项的位置:

在此处输入图像描述

这是华盛顿邮报中嵌入图表的外观。这是一个有用的教程有人用 Plotly 和 Bottle 进行开发。

如果这不起作用,请告诉我,我很乐意提供帮助。

披露:我在 Plotly 团队。

于 2013-11-05T20:02:43.880 回答