django_project_demo/app/templates/chart_list.html
2024-08-24 03:25:23 +00:00

191 lines
5.8 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{% 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 id="m1" style="width: 100%;height:400px;"></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">
<!-- 为 ECharts 准备一个定义了宽高的 DOM -->
<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(); // 柱状图
initPie(); //饼图
initLine(); // 折线图
})
/**
* 初如化柱状图
* **/
function initBar() {
// 基于准备好的dom初始化echarts实例
var myChart = echarts.init(document.getElementById('m2'));
// 指定图表的配置项和数据
var option = {
title: {
text: '商品类型',
textAlign: 'auto',
left: 'center'
},
tooltip: {},
legend: {
data: [], //后台获取
bottom: 0,
},
xAxis: {
data: [], //后台获取
},
yAxis: {},
series: [] //后台获取
};
// 发起ajax请求到后端取数据
$.ajax({
url: '/chart/bar/',
type: 'get',
dataType: 'JSON',
success: function (res) {
// 将后端返回的数据更新到option中
option.legend.data = res.data.data_list;
option.xAxis.data = res.data.x_axis;
option.series = res.data.series_list;
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
})
}
/**
* 初如化饼图
* **/
function initPie() {
// 基于准备好的dom初始化echarts实例
var myChart = echarts.init(document.getElementById('m3'));
// 指定图表的配置项和数据
var option;
option = {
title: {
text: '勤务统计',
subtext: '宁夏特勤',
left: 'center'
},
tooltip: {
trigger: 'item'
},
legend: {
bottom: 0,
},
series: [
{
name: '勤务量',
type: 'pie',
radius: '50%',
data: [], // 后台获取
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};
// 发起ajax请求到后端取数据
$.ajax({
url: '/chart/pie/',
type: 'get',
dataType: 'JSON',
success: function (res) {
// 将后端返回的数据更新到option中
option.series[0].data = res.data;
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
})
}
/**
* 初如化折线图
* **/
function initLine() {
// 基于准备好的dom初始化echarts实例
var myChart = echarts.init(document.getElementById('m1'));
// 指定图表的配置项和数据
var option;
option = {
xAxis: {
type: 'category',
data: [], // 后端获取
},
yAxis: {
type: 'value'
},
series: [
{
data: [],
type: 'line',
smooth: true
}
]
};
// 发起ajax请求到后端取数据
$.ajax({
url: '/chart/line/',
type: 'get',
dataType: 'JSON',
success: function (res) {
// 将后端返回的数据更新到option中
console.log(res)
option.xAxis.data = res.data.xaxis
option.series[0].data = res.data.series_list
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
})
}
</script>
{% endblock %}