最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django展示可視化圖表的多種方式

 更新時間:2021年04月08日 14:28:49   作者:AirPython  
這篇文章主要介紹了Django展示可視化圖表的多種方式,幫助大家更好的理解和學習使用django框架,感興趣的朋友可以了解下

1. 前言

大家好,我是安果!

使用 Django 進行 Web 開發(fā)時,經(jīng)常有需要展示圖表的需求,以此來豐富網(wǎng)頁的數(shù)據(jù)展示

常見方案包含:Highcharts、Matplotlib、Echarts、Pyecharts,其中后 2 種方案使用頻率更高

本篇文章將聊聊 Django 結合 Echarts、Pyecharts 實現(xiàn)圖表可視化的具體流程

2. Echarts

Echarts 是百度開源的一個非常優(yōu)秀的可視化框架,它可以展示非常復雜的圖表類型

以展示簡單的柱狀圖為例,講講 Django 集成 Echarts 的流程

首先,在某個 App 的 views.py 編寫視圖函數(shù)

當請求方法為 POST 時,定義柱狀圖中的數(shù)據(jù)值,然后使用 JsonResponse 返回數(shù)據(jù)

from django.http import JsonResponse
from django.shortcuts import render


def index_view(request):
    if request.method == "POST":

        # 柱狀圖的數(shù)據(jù)
        datas = [5, 20, 36, 10, 10, 20]

        # 返回數(shù)據(jù)
        return JsonResponse({'bar_datas': datas})
    else:
        return render(request, 'index.html', )

在模板文件中,導入 Echarts 的依賴

PS:可以使用本地 JS 文件或 CDN 加速服務

{#導入js和echarts依賴#}
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.0.2/echarts.common.js"></script>

然后,重寫 window.onload 函數(shù),發(fā)送一個 Ajax 請求給后端,利用 Echarts 將返回結果展示到圖表中去

​<script>
    // 柱狀圖
    function show_bar(data) {

        //控件
        var bar_widget = echarts.init(document.getElementById('bar_div'));

        //設置option
        option = {
            title: {
                text: '簡單的柱狀圖'
            },
            tooltip: {},
            legend: {
                data: ['銷量']
            },
            xAxis: {
                type: 'category',
                data: ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                data: data,
                type: 'bar'
            }]
        };

        bar_widget.setOption(option)
    }
    //顯示即加載調用
    window.onload = function () {
        //發(fā)送post請求,地址為index(Jquery)
        $.ajax({
            url: "/",
            type: "POST",
            data: {},
            success: function (data) {
                // 柱狀圖
                show_bar(data['bar_datas']);

                //后端返回的結果
                console.log(data)
            }
        })
    }
</script>

最后,編寫路由 URL,運行項目

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('',include('index.urls')),
​    path('admin/', admin.site.urls),
]

發(fā)現(xiàn),首頁展示了一個簡單的柱狀圖

更多復雜的圖表展示可以參考官方

https://echarts.apache.org/examples/zh/index.html

3. Pyecharts

Pyecharts 是一款使用 Python 對 Echarts 進行再次封裝后的開源框架

相比 Echarts,Django 集成 Pyecharts 更快捷、方便

Django 集成 Pyecharts 只需要 4 步

3-1  安裝依賴

# 安裝依賴
pip(3) install pyecharts

3-2  拷貝 pyecharts 的模板文件到項目下

將虛擬環(huán)境中 pyecharts 的模板文件拷貝到項目的模板文件夾下

比如本機路徑如下:

/Users/xingag/Envs/xh_log/lib/python3.7/site-packages/pyecharts/render/templates/

3-3  編寫視圖函數(shù),渲染圖表

在視圖文件中,使用 pyecharts 庫內置的類 Bar 創(chuàng)建一個柱狀圖

# Create your views here.
from django.http import HttpResponse
from jinja2 import Environment, FileSystemLoader
from pyecharts.globals import CurrentConfig

CurrentConfig.GLOBAL_ENV = Environment(loader=FileSystemLoader("./index/templates"))

from pyecharts import options as opts
from pyecharts.charts import Bar


# http://127.0.0.1:8000/demo/
def index(request):
    c = (
        Bar()
            .add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
            .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
            .add_yaxis("商家B", [15, 25, 16, 55, 48, 8])
            .set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副標題"))
    )
    return HttpResponse(c.render_embed())

3-4  運行項目

運行項目,生成的柱狀圖如下:

這只是最簡單的使用實例,更多復雜的圖表及前后端分離、更新的例子

可以參考官網(wǎng):

https://pyecharts.org/#/zh-cn/web_django?id=django-前后端分離

4. 最后

文中介紹了 Django 快速集成 Echarts 和 Pyecharts 的基本步驟

實際項目中,一些復雜的圖表、前后端分離數(shù)據(jù)更新可以參考官網(wǎng)去拓展

源碼:https://github.com/xingag/python_web

以上就是Django展示可視化圖表的多種方式的詳細內容,更多關于Django 可視化圖表的資料請關注腳本之家其它相關文章!

相關文章

  • Python基于WebSocket實現(xiàn)簡易屏幕共享工具

    Python基于WebSocket實現(xiàn)簡易屏幕共享工具

    這篇文章主要為大家詳細介紹了Python如何基于WebSocket實現(xiàn)簡易屏幕共享工具,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-01-01
  • 對命令行模式與python交互模式介紹

    對命令行模式與python交互模式介紹

    今天小編就為大家分享一篇對命令行模式與python交互模式介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • python中的colorlog庫使用詳解

    python中的colorlog庫使用詳解

    這篇文章主要介紹了python中的colorlog庫詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • 淺談在JupyterNotebook下導入自己的模塊的問題

    淺談在JupyterNotebook下導入自己的模塊的問題

    這篇文章主要介紹了淺談在JupyterNotebook下導入自己的模塊的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 教你如何用Pytorch搭建數(shù)英混合驗證碼圖片識別模型

    教你如何用Pytorch搭建數(shù)英混合驗證碼圖片識別模型

    大家都知道checkpoints存放的是模型文件,data存放的是數(shù)據(jù)集,本文給大家分享如何利用Pytorch搭建數(shù)英混合驗證碼圖片識別模型包括普通卷積模塊,深度可分離卷積模塊,空間通道注意力模塊,殘差模塊,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • Pytorch實現(xiàn)GoogLeNet的方法

    Pytorch實現(xiàn)GoogLeNet的方法

    今天小編就為大家分享一篇Pytorch實現(xiàn)GoogLeNet的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 利用Python實現(xiàn)添加或讀取Excel公式

    利用Python實現(xiàn)添加或讀取Excel公式

    Excel公式是數(shù)據(jù)處理的核心工具,從簡單的加減運算到復雜的邏輯判斷,掌握基礎語法是高效工作的起點,下面我們就來看看如何使用Python進行Excel公式的添加與讀取吧
    2025-03-03
  • Python操作JSON實現(xiàn)網(wǎng)絡數(shù)據(jù)交換

    Python操作JSON實現(xiàn)網(wǎng)絡數(shù)據(jù)交換

    這篇文章主要介紹了Python操作JSON實現(xiàn)網(wǎng)絡數(shù)據(jù)交換,JSON的全稱是 JavaScript Object Notation,是一種輕量級的數(shù)據(jù)交換格式,關于JSON的更多相關內容感興趣的小伙伴可以參考一下
    2022-06-06
  • Selenium chrome配置代理Python版的方法

    Selenium chrome配置代理Python版的方法

    這篇文章主要介紹了Selenium chrome配置代理Python版的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Python探索之創(chuàng)建二叉樹

    Python探索之創(chuàng)建二叉樹

    這篇文章主要介紹了Python探索之創(chuàng)建二叉樹,Python的相關內容,小編是初窺門徑。這里分享給大家一些簡單知識,供需要的朋友參考。
    2017-10-10

最新評論

广元市| 台前县| 漾濞| 内江市| 闽清县| 昔阳县| 迭部县| 涟源市| 华阴市| 广东省| 会同县| 夏邑县| 龙井市| 兖州市| 天柱县| 宾川县| 吴江市| 阿城市| 武义县| 门源| 北安市| 离岛区| 九龙县| 察雅县| 香港 | 巴林右旗| 金坛市| 抚宁县| 博湖县| 岑巩县| 响水县| 剑阁县| 凉城县| 玛纳斯县| 宜君县| 大理市| 济宁市| 珲春市| 灵川县| 盐池县| 博罗县|