溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在Django中使用Pyecharts生成圖表

發(fā)布時間:2021-05-13 16:34:32 來源:億速云 閱讀:286 作者:Leah 欄目:開發(fā)技術(shù)

如何在Django中使用Pyecharts生成圖表?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

1 因為pyecharts是支持python的一種可視化,但是想要將其放入網(wǎng)頁中,主要有兩種方法

(1)在網(wǎng)頁中假如iframe,將網(wǎng)頁嵌在iframe中(該方法不具體描述)

(2)使用json傳輸?shù)角岸?,對其進行展示

具體描述第2種方法如下:

假設(shè)用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中使用Pyecharts生成圖表

接下來,想要用其傳到前端,進行顯示,需要在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,	#若前端加載了對應(yīng)的echarts庫,可以不需要這一句和下一句
            script_list=l.get_js_dependencies(),#以上兩句代碼的目的是下載該圖標對應(yīng)的一些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,可以根據(jù)自己的網(wǎng)頁結(jié)構(gòu)進行替換,不需要相同)

<div class="row placeholders" id="pic">
                {{myechart|safe}}
</div>

看完上述內(nèi)容,你們掌握如何在Django中使用Pyecharts生成圖表的方法了嗎?如果還想學到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI