App下載

Django顯示可視化圖表實踐

來源: 遺留的憂傷 2021-08-21 14:36:04 瀏覽數(shù) (2829)
反饋

怎么在Django的web應(yīng)用中顯示可視化圖表?其實操作很簡單,使用matplotlib庫就可以實現(xiàn)顯示可視化圖表的功能,具體怎么進行操作呢?讓我們在實戰(zhàn)中進行學習吧。

一 實戰(zhàn)

1 Django_laburls.py

# -*- coding: utf-8 -*-
 
from django.conf.urls import url,include
from django.contrib import admin
 
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    # 定義圖表url
    url(r'^chart/', include('chart.urls')),
]

2 在settings.py中添加圖表應(yīng)用

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 圖表應(yīng)用
    'chart',
]

3 charturls.py

# -*- coding: utf-8 -*-
from django.conf.urls import url,include
from . import views
urlpatterns = [
    # 折線圖的url
    url(r'^linediagram/$', views.showlinediagram),
]

4 views.py

# -*- coding: utf-8 -*-
from django.shortcuts import render
from django.http import HttpResponse
 
from matplotlib.figure import Figure
from matplotlib.backends.backend_agg import FigureCanvasAgg
from matplotlib.dates import DateFormatter
import matplotlib.pyplot as plt
 
import random
import datetime
 
# 折線圖對應(yīng)的的模板
def showlinediagram(request):
    return render(request, 'chart/showlinediagram.html')

5 模板showlinediagram.html

<html>
<head>
<meta charset="UTF-8" />
<title>Highcharts 教程 | 菜鳥教程(runoob.com)</title>
<script src="https://atts.w3cschool.cn/attachments/jquery.min.js"></script>
<script src="https://atts.w3cschool.cn/attachments/highcharts.js"></script>
</head>
<body>
<div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div>
<script language="JavaScript">
$(document).ready(function() {
   var title = {
       text: '月平均氣溫'
   };
   var subtitle = {
        text: 'Source: runoob.com'
   };
   var xAxis = {
       categories: ['一月', '二月', '三月', '四月', '五月', '六月'
              ,'七月', '八月', '九月', '十月', '十一月', '十二月']
   };
   var yAxis = {
      title: {
         text: 'Temperature (xB0C)'
      },
      plotLines: [{
         value: 0,
         width: 1,
         color: '#808080'
      }]
   };
 
   var tooltip = {
      valueSuffix: 'xB0C'
   }
 
   var legend = {
      layout: 'vertical',
      align: 'right',
      verticalAlign: 'middle',
      borderWidth: 0
   };
 
   var series =  [
      {
         name: 'Tokyo',
         data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2,
            26.5, 23.3, 18.3, 13.9, 9.6]
      },
      {
         name: 'New York',
         data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8,
            24.1, 20.1, 14.1, 8.6, 2.5]
      },
      {
         name: 'Berlin',
         data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6,
            17.9, 14.3, 9.0, 3.9, 1.0]
      },
      {
         name: 'London',
         data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0,
            16.6, 14.2, 10.3, 6.6, 4.8]
      }
   ];
 
   var json = {};
 
   json.title = title;
   json.subtitle = subtitle;
   json.xAxis = xAxis;
   json.yAxis = yAxis;
   json.tooltip = tooltip;
   json.legend = legend;
   json.series = series;
 
   $('#container').highcharts(json);
});
</script>
</body>
</html>

二 測試結(jié)果

1 瀏覽器輸入:http://localhost:8000/chart/linediagram

2 結(jié)果顯示結(jié)果

三 參考

https://blog.csdn.net/Temanm/article/details/54141759

https://my.oschina.net/jastme/blog/357142

https://www.hcharts.cn/demo/highcharts/

http://www.runoob.com/highcharts/highcharts-configuration-syntax.html

到此這篇Django顯示可視化圖表的實踐的文章就介紹到這了,更多Django相關(guān)學習內(nèi)容請搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章。


0 人點贊