Embed Plotly graph into a webpage with Bottle
Question: Hi i am using plotly to generate graphs using Python, Bottle. However, this
returns me a url. Like:

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

I want to paste the entire graph into my webpage instead of providing a link.
Is this possible?

My code is:

    
    
    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)
    


Answer: Yes, embedding is possible. Here's an iframe snippet you can use (with any
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>`

The plot gets embedded at a URL that is made especially for embedding the
plot. So in this case your plot is <https://plot.ly/~abhishek.mitra.963/1/>.
The URL to embed it is made by adding .embed to the URL:
<https://plot.ly/~abhishek.mitra.963/1.embed>.

You can change the width/height dimensions in that snippet. To get the iframe
code and see different sizes, you can click the embed icon on a plot, or when
you share it generate the code. Here's where the embed options are:

![enter image description here](http://i.stack.imgur.com/7ddjp.png)

[Here's how an embedded graph looks in the Washington
Post](http://www.washingtonpost.com/blogs/wonkblog/wp/2013/06/14/do-low-taxes-
on-the-rich-leave-the-middle-class-with-lower-wages/). And
[here](https://realpython.com/blog/python/developing-with-bottle-part-2-plot-
ly-api/) is a helpful tutorial someone made on developing with Plotly and
Bottle.

Let me know if that doesn't work, and I'm happy to help out.

Disclosure: I'm on the Plotly team.

