当前位置:   article > 正文

【PythonDjango后台实例 第四章】Python3.6.1+Bootstrap3+echarts 在HTML网页中使用echarts展示图表_python 执行echarts在html显示

python 执行echarts在html显示

本文章解决的问题如下:

能够在Django框架下使用echarts.js制作简单的可视化展示


本文章环境需要:

echarts官方主页 : http://echarts.baidu.com/index.html

echarts.js下载 : http://echarts.baidu.com/download.html


下载文件后放进自己的静态文件文件夹中,比方说


然后在需要使用的html页面中进行关联,比方说


注意,静态文件的位置一定要确定好,一定要弄清楚相对位置和绝对位置的含义,如果位置错误则会显示找不到静态包

我在这里示例一个百度官方的echarts.js的使用

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>ECharts</title>
  6. <!-- 引入 echarts.js -->
  7. <script src="echarts.min.js"></script>
  8. </head>
  9. <body>
  10. <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
  11. <div id="main" style="width: 600px;height:400px;"></div>
  12. <script type="text/javascript">
  13. // 基于准备好的dom,初始化echarts实例
  14. var myChart = echarts.init(document.getElementById('main'));
  15. // 指定图表的配置项和数据
  16. var option = {
  17. title: {
  18. text: 'ECharts 入门示例'
  19. },
  20. tooltip: {},
  21. legend: {
  22. data:['销量']
  23. },
  24. xAxis: {
  25. data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
  26. },
  27. yAxis: {},
  28. series: [{
  29. name: '销量',
  30. type: 'bar',
  31. data: [5, 20, 36, 10, 10, 20]
  32. }]
  33. };
  34. // 使用刚指定的配置项和数据显示图表。
  35. myChart.setOption(option);
  36. </script>
  37. </body>
  38. </html>
然后实现



我们可以尝试一个进阶图例,图例代码来源:http://gallery.echartsjs.com/editor.html?c=xH1PiorBb-

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <meta charset="utf-8">
  5.     <title>ECharts</title>
  6.     <!-- 引入 echarts.js -->
  7.     <script src="echarts.min.js"></script>
  8. </head>
  9. <body>
  10.     <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
  11.     <div id="main" style="width: 600px;height:400px;"></div>
  12.     <script type="text/javascript">
  13.         // 基于准备好的dom,初始化echarts实例
  14.         var myChart = echarts.init(document.getElementById('main'));
  15.         // 指定图表的配置项和数据
  16.           var base = +new Date(2014, 9, 3, 0);
  17.   var oneDay = 600000;
  18.   var date = [];
  19.   var data = [];
  20.   for (var i = 0; i < 144; i++) {
  21.       var now = new Date(base += oneDay);
  22.       date.push([now.getHours(), now.getMinutes()].join(':'));
  23.       data.push(Math.floor(Math.random() * (1000 + 1 - 400) + 400));
  24.   }
  25.   date.unshift(0.0);
  26.   data.unshift(500);
  27.   option = {
  28.       color: ['#6EE4C2'],
  29.       tooltip: {
  30.           trigger: 'axis',
  31.           axisPointer: { // 坐标轴指示器,坐标轴触发有效
  32.               type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  33.           }
  34.       },
  35.       title: {
  36.           text: 'xx馆每日进出人次统计',
  37.       },
  38.       dataZoom: [{
  39.           type: 'inside',
  40.           start: 0,
  41.           end: 100
  42.       }],
  43.       grid: {
  44.           left: '3%',
  45.           right: '4%',
  46.           bottom: '3%',
  47.           containLabel: true
  48.       },
  49.       toolbox: {
  50.           show: true,
  51.           feature: {
  52.               restore: {
  53.                   show: true
  54.               },
  55.               magicType: {
  56.                   show: true,
  57.                   type: ['line', 'bar', 'stack', 'tiled']
  58.               },
  59.           }
  60.       },
  61.       xAxis: [{
  62.           name: '日期',
  63.           type: 'category',
  64.           data: date,
  65.           axisTick: {
  66.               alignWithLabel: true
  67.           }
  68.       }],
  69.       yAxis: [{
  70.           name: '进出人次',
  71.           type: 'value'
  72.       }],
  73.       series: [{
  74.           name: '图书馆每日进出人次统计',
  75.           type: 'bar',
  76.           barWidth: '60%',
  77.           data: data
  78.       }]
  79.   };
  80.         // 使用刚指定的配置项和数据显示图表。
  81.         myChart.setOption(option);
  82.     </script>
  83. </body>
  84. </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



有地方不懂的就在评论区问,有错误请指出,大家共同进步!

因本文不太严谨,所以严禁转载!




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

闽ICP备14008679号