2013-10-14 5 views
9

안녕하세요 저는 음모를 사용하여 파이썬, 병을 사용하여 그래프를 생성하고 있습니다. 그러나 이것은 나에게 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) 
+0

플라스크에 템플릿을 사용 해본 적 있습니까? –

+0

템플릿이 있습니다. 하지만 어떻게 도움이 될까요? – user2834165

답변

10

예, 삽입이 가능하다. 여기에 (모든 Plotly URL을) 당신이 사용할 수있는 iframe을 조각입니다 :

<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을 포함 할 URL은 .embed를 URL : https://plot.ly/~abhishek.mitra.963/1.embed에 추가하여 만듭니다.

해당 스 니펫에서 너비/높이 치수를 변경할 수 있습니다. iframe 코드를 가져 와서 다른 크기를 보려면 플롯에서 포함 아이콘을 클릭하거나 코드를 공유 할 때 코드를 생성 할 수 있습니다. 여기에 삽입 옵션이있는 곳입니다 :

enter image description here

Here's how an embedded graph looks in the Washington Post. here은 Plotly 및 Bottle을 사용하여 개발 한 유용한 자습서입니다.

작동하지 않는다면 알려주세요. 기꺼이 도와 드리겠습니다.

공개 사항 : Plotly 팀에 있습니다.

+0

나는 비슷한 것을 찾고있다. 내 상황은 5 분 간격으로 파이썬 코드를 실행하고 동일한 플롯을 업데이트하는 것입니다. 대신 나는 매번 새로운 창을 띄고 있습니다. 웹 페이지의 iframe을 임베드하여 동일한 플롯을 업데이트해야합니다. 나는 그런 20 개의 구획을 가지고있다. –

+2

플롯 URL은 API에서 제공 한 것입니까? 최근에 게시 된 오프라인 라이브러리에서 이와 같은 작업을 수행 할 수있는 방법이 있습니까? –