当前位置:   article > 正文

Django 基于echarts的图表_django的饼图柱状图html模板

django的饼图柱状图html模板

Django 基于echarts的图表

效果

在这里插入图片描述

HTML及js代码

{% extends 'layout.html' %}
{% load static %}

{% block content %}
<div class="container">
    <div class="panel panel-default">
        <div class="panel-heading">折线图</div>
        <div class="panel-body">
            <div></div>
        </div>
    </div>

    <div class="row">
        <div class="col-sm-8">
            <div class="panel panel-default">
                <div class="panel-heading">柱状图</div>
                <div class="panel-body">
                    <div id="m2" style="width: 100%;height: 400px;"></div>
                </div>
            </div>
        </div>
        <div class="col-sm-4">
            <div class="panel panel-default">
                <div class="panel-heading">饼图</div>
                <div class="panel-body">
                    <div id="m3" style="width: 100%;height: 400px;"></div>
                </div>
            </div>
        </div>
    </div>
</div>

{% endblock %}

{% block js %}
<script src="{% static 'js/echarts.min.js' %}"></script>
<script type="text/javascript">
    $(function (){
        initBar();
        iniPie();
    })

    function initBar(){
        var myChart = echarts.init(document.getElementById('m2'));
        var option = {
            title: {
                text: '销售信息',
                subtext: "广西分公司",
                textAlign: "auto",
                left:'center',
            },
            tooltip: {},
            legend: {
                data: [],
                bottom:0,
            },
            xAxis: {
                data: []
            },
            yAxis: {},
            series: []
        };

        $.ajax({
            url: "/chart/bar/",
            type: "get",
            dataType: "JSON",
            success: function (res){
                if (res.status){
                    option.legend.data = res.data.legend;
                    option.xAxis.data = res.data.x_axis;
                    option.series = res.data.series_list;
                    myChart.setOption(option);

                }


            }
        })


    }


    function  iniPie(){
        var myChart = echarts.init(document.getElementById('m3'));
        option = {
            title: {
                text: '营销占比',
                subtext: 'Fake Data',
                left: 'center'
            },
            tooltip: {
                trigger: 'item'
            },
            legend: {
                bottom: 0
            },
            series: [
                {
                    name: 'Access From',
                    type: 'pie',
                    radius: '50%',
                    data: [],
                    emphasis: {
                        itemStyle: {
                            shadowBlur: 10,
                            shadowOffsetX: 0,
                            shadowColor: 'rgba(0, 0, 0, 0.5)'
                        }
                    }
                }
            ]
        };

        $.ajax({
            url: "/chart/pie/",
            type: "get",
            dataType: "JSON",
            success: function (res){
                if (res.status){
                    option.series[0].data = res.data;
                    myChart.setOption(option);


                }

            }
        })


    }






</script>


{% endblock %}


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144

视图函数代码

def chart_list(request):

    return render(request, 'chart_list.html')


def chart_bar(request):
    legend = ['销量']
    series_list = [
            {
                'name': '销量',
                'type': 'bar',
                'data': [5, 20, 36, 10, 10, 20]
            }
        ]
    x_axis = ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
    result = {
        'status': True,
        'data': {
            'legend': legend,
            'series_list': series_list,
            'x_axis': x_axis,
        }
    }
    return JsonResponse(result)

def chart_pie(request):
    data_dict = [
        { 'value': 1048, 'name': 'Search Engine' },
        { 'value': 735, 'name': 'Direct' },
        { 'value': 580, 'name': 'Email' },
        { 'value': 484, 'name': 'Union Ads' },
        { 'value': 300, 'name': 'Video Ads' }
    ]
    result = {
        'status': True,
        'data': data_dict,
    }
    return JsonResponse(result)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

解读

导入echarts的js 文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/165005
推荐阅读
相关标签
  

闽ICP备14008679号