您好,登錄后才能下訂單哦!
如何在Django中使用Pyecharts生成圖表?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
1 因為pyecharts是支持python的一種可視化,但是想要將其放入網頁中,主要有兩種方法
(1)在網頁中假如iframe,將網頁嵌在iframe中(該方法不具體描述)
(2)使用json傳輸到前端,對其進行展示
具體描述第2種方法如下:
假設用pyecharts畫一張折線圖
def line(): attr = ['教師', '教授', '副教授', '博導', '碩導', '國家級獎項', '省部級獎項', '院士', '榮譽學者', '專利'] v1 = [100, 20, 15, 50, 40, 200, 200, 4, 5, 100] v2 = [150, 30, 40, 50, 30, 250, 200, 1, 2, 110] line = Line(width=1834, height=400) line.add('北京大學', attr, v1, mark_point=['average', 'max', 'min'], # 標注點:平均值,最大值,最小值 mark_point_symbol='diamond', # 標注點:鉆石形狀 mark_point_textcolor='#40ff27') # 標注點:標注文本顏色 line.add('清華大學', attr, v2, mark_point=['average', 'max', 'min'], mark_point_symbol='arrow', xaxis_name_size=20, yaxis_name_size=20, ) return line
具體的圖標如圖所示:
接下來,想要用其傳到前端,進行顯示,需要在Django的app的views.py中添加代碼。
def university_picture(request): template = loader.get_template('search/test.html') l = line() #生成圖像實例 context = dict( myechart=l.render_embed(), #必須要有 host=REMOTE_HOST, #若前端加載了對應的echarts庫,可以不需要這一句和下一句 script_list=l.get_js_dependencies(),#以上兩句代碼的目的是下載該圖標對應的一些echarts庫 ) return HttpResponse(template.render(context, request))
后端代碼在這里就介紹完,底下需要介紹一下前端的代碼。
前端第一步,加載頭文件:
{% for jsfile_name in script_list %} <script type="text/javascript" src="{{ host }}/{{ jsfile_name }}.js"></script> {% endfor %}
第二步,將圖標顯示出來(注:以下代碼的class以及id,可以根據自己的網頁結構進行替換,不需要相同)
<div class="row placeholders" id="pic"> {{myechart|safe}} </div>
看完上述內容,你們掌握如何在Django中使用Pyecharts生成圖表的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。