Echarts根据需要生成对应的图表

简介: Echarts根据需要生成对应的图表

效果预览:

这里就不赘述了,之前的文章已经写了怎么使用的,直接发代码就行了,其实就是将函数加一个参数判断一下需要生成什么类型的图表,没有技术含量。

H5源码:

 <h2>请输入对应信息</h2>
    <input type="text" name="" id="head" placeholder="表头" /><br />
    <input type="text" placeholder="列名" id="name1"/><input type="text" placeholder="比重" id="p1"/><br />
    <input type="text" placeholder="列名" id="name2"/><input type="text" placeholder="比重" id="p2"/><br />
    <input type="text" placeholder="列名" id="name3"/><input type="text" placeholder="比重" id="p3"/><br />
    <input type="text" placeholder="列名" id="name4"/><input type="text" placeholder="比重" id="p4"/><br />
    <input type="button" name="" id="" value="点击生成柱状图" οnclick="creatEcharts(1)"/>
    <input type="button" name="" id="" value="点击生成扇形图" οnclick="creatEcharts(2)"/>
    <button οnclick="convertCanvasToImage()">下载图表为PDF</button>
    <div id="main" style="width: 600px;height:400px;"></div>

JS源码:

var head;
      var myChart;
      function creatEcharts(flag){
        //拿数据
        head = $("#head").val();
        var name1 = $("#name1").val();  
        var name2 = $("#name2").val();  
        var name3 = $("#name3").val();  
        var name4 = $("#name4").val(); 
        var p1 = $("#p1").val();  
        var p2 = $("#p2").val();
        var p3 = $("#p3").val();  
        var p4 = $("#p4").val();  
        if(flag == 1){
          // 基于准备好的dom,初始化echarts实例
              myChart = echarts.init(document.getElementById('main'));
              // 指定图表的配置项和数据
              var option = {
                  title: {
                      text: head
                  },
                  tooltip: {},
                  legend: {
                      data:['比重']
                  },
                  xAxis: {
                      data: [name1,name2,name3,name4]
                  },
                  yAxis: {},
                  series: [{
                      name: '比重',
                      type: 'bar',
                      data: [p1, p2, p3, p4]
                  }]
              };
              // 使用刚指定的配置项和数据显示图表。
              myChart.setOption(option);
        }
        else if(flag == 2){
              myChart;
              echarts.init(document.getElementById('main')).setOption({
                series: {
                    type: 'pie',
                    data: [
                        {name: name1, value: p1},
                        {name: name2, value: p2},
                        {name: name3, value: p3},
                        {name: name4, value: p4}
                    ]
                }
            });
        }
      }
    </script>
    <script type="text/javascript">
        function convertCanvasToImage() {
            html2canvas(document.getElementById('main'), {
                onrendered: function(canvas) {
                    document.body.appendChild(canvas);
                    createPDFObject(canvas.toDataURL("image/jpeg"));
                }
            });
        }
        function createPDFObject(imgData) {
            var doc = new jsPDF('p', 'pt');
            doc.addImage(imgData, 5, 5, 600, 300, 'img');
            doc.save(''+head+'.pdf')
        }

JS引用:

<script src="../js/echarts.min.js" type="text/javascript" charset="utf-8"></script>
 <script src="../js/jQuery/jquery-1.11.2.min.js" type="text/javascript" charset="utf-8"></script>
 <script src="../js/html2canvas.min.js" type="text/javascript" charset="utf-8"></script>
 <script src="../js/jspdf.js" type="text/javascript" charset="utf-8"></script>

虽然一直没有什么高技术含量,但是一点点来,我觉得还是可以学会这个的,现在就当是玩玩。

相关文章
|
2月前
|
数据可视化
echarts图表坐标轴数据标签添加下划线
echarts图表坐标轴数据标签添加下划线
50 0
|
2月前
|
前端开发 JavaScript BI
Django教程第5章 | Web开发实战-数据统计图表(echarts、highchart)
使用echarts和highcharts图表库实现折线图、柱状图、饼图和数据集图
64 2
|
1天前
|
前端开发 JavaScript 定位技术
Docusaurus框架——react+antd+echarts自定义mdx生成图表代码解释文档
Docusaurus框架——react+antd+echarts自定义mdx生成图表代码解释文档
10 0
|
2天前
|
API
vue2、vue3分别配置echarts多图表的同步缩放(一)
vue2、vue3分别配置echarts多图表的同步缩放
8 0
|
20天前
|
JavaScript
Vue引入Echarts图表的使用
Vue引入Echarts图表的使用
|
1月前
|
数据可视化 前端开发
web前端-Echarts-5.3高级可视化和图表组合布局
web前端-Echarts-5.3高级可视化和图表组合布局
|
2月前
使用vue3实现echarts漏斗图表以及实现echarts全屏放大效果
使用vue3实现echarts漏斗图表以及实现echarts全屏放大效果
27 0
|
3月前
|
JavaScript 小程序 Java
基于Java的大学生汉服租赁网站的设计与实现(亮点:在线支付、ECharts图表展示、完整下单流程、视频点播、点赞评论互动)
基于Java的大学生汉服租赁网站的设计与实现(亮点:在线支付、ECharts图表展示、完整下单流程、视频点播、点赞评论互动)
39 0
|
3月前
|
移动开发 JavaScript
echarts生成图表并下载为PDF文件(附带js源码地址)
echarts生成图表并下载为PDF文件(附带js源码地址)
40 0