本文章解决的问题如下:
能够在Django框架下使用echarts.js制作简单的可视化展示
本文章环境需要:
echarts官方主页 : http://echarts.baidu.com/index.html
echarts.js下载 : http://echarts.baidu.com/download.html
搜索887934385交流群,进入后下载资料工具安装包等。最后,感谢观看!
https://jq.qq.com/?_wv=1027&k=55RAtTB
下载文件后放进自己的静态文件文件夹中,比方说
然后在需要使用的html页面中进行关联,比方说
注意,静态文件的位置一定要确定好,一定要弄清楚相对位置和绝对位置的含义,如果位置错误则会显示找不到静态包
我在这里示例一个百度官方的echarts.js的使用
注意,静态文件的位置一定要确定好,一定要弄清楚相对位置和绝对位置的含义,如果位置错误则会显示找不到静态包
我在这里示例一个百度官方的echarts.js的使用
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ECharts</title>
<!-- 引入 echarts.js -->
<script src="echarts.min.js"></script>
</head>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: 'ECharts 入门示例'
},
tooltip: {},
legend: {
data:['销量']
},
xAxis: {
data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>
</body>
</html>
然后实现
我们可以尝试一个进阶图例,图例代码来源:http://gallery.echartsjs.com/editor.html?c=xH1PiorBb-
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ECharts</title>
<!-- 引入 echarts.js -->
<script src="echarts.min.js"></script>
</head>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var base = +new Date(2014, 9, 3, 0);
var oneDay = 600000;
var date = [];
var data = [];
for (var i = 0; i < 144; i++) {
var now = new Date(base += oneDay);
date.push([now.getHours(), now.getMinutes()].join(':'));
data.push(Math.floor(Math.random() * (1000 + 1 - 400) + 400));
}
date.unshift(0.0);
data.unshift(500);
option = {
color: ['#6EE4C2'],
tooltip: {
trigger: 'axis',
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
title: {
text: 'xx馆每日进出人次统计',
},
dataZoom: [{
type: 'inside',
start: 0,
end: 100
}],
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
toolbox: {
show: true,
feature: {
restore: {
show: true
},
magicType: {
show: true,
type: ['line', 'bar', 'stack', 'tiled']
},
}
},
xAxis: [{
name: '日期',
type: 'category',
data: date,
axisTick: {
alignWithLabel: true
}
}],
yAxis: [{
name: '进出人次',
type: 'value'
}],
series: [{
name: '图书馆每日进出人次统计',
type: 'bar',
barWidth: '60%',
data: data
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>
</body>
</html>
然后显示效果为:
这样就完成了echarts在html页面中的调用,有人肯定就会说,我要怎么在模版页面里面使用echarts?
而不是霸占整个页面? 其实就是给这个图表一个容器就可以了。
我拿我自己的软件举一个例子:
现在看到我其中的一个页面是这样的,但是echarts并不是霸占整个页面,是因为我给网页中的所有元素都设置了容器。
可以看到这个图表就是在容器内
通过上图就可以看到我相关图表的代码,这其中涉及到了前端框架Bootstrap的相关技术
我简要解释一下: 1.代码中的row的容器代表我设置了一列容器 2.col-md-12的容器代表其占比是100%
3. 最后设置该图表id是echarts1(因为我在同一个页面设置了多个echarts),其图表的长宽分别是1600px和400px
通过容器的概念,我们就可以任意的在某个地方放置我们的echarts了
肯定还会有人问,那你的echarts配置语句呢?怎么只看到容器?
我的语句统一放在html页面下方,通过容器id=echarts1与图表js语句关联。
简单总结:
1. 下载echarts.js文件,并导入项目,让项目找得到它
2. 调用echarts文件,具体调用方法见百度官方使用说明:http://echarts.baidu.com/tutorial.htmlO#5%20%E5%88%86%E9%92%9F%E4%B8%8A%E6%89%8B%20ECharts
3.给一个网页容器把echarts装进去,更加美观
4.前端都涉及Html,CSS,JS等,只要不调用数据库和后台就涉及不到Django,所以放心的按照官方来做
下一章讲如何使用Django调用数据库给前台的echarts