赞
踩
本文章解决的问题如下:
能够在Django框架下使用echarts.js制作简单的可视化展示
本文章环境需要:
echarts官方主页 : http://echarts.baidu.com/index.html
echarts.js下载 : http://echarts.baidu.com/download.html
下载文件后放进自己的静态文件文件夹中,比方说
然后在需要使用的html页面中进行关联,比方说
注意,静态文件的位置一定要确定好,一定要弄清楚相对位置和绝对位置的含义,如果位置错误则会显示找不到静态包
我在这里示例一个百度官方的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
有地方不懂的就在评论区问,有错误请指出,大家共同进步!
因本文不太严谨,所以严禁转载!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。