精华内容
下载资源
问答
  • 数据可视化前言:https://blog.csdn.net/diviner_s/article/details/115933789 Apache Echarts简介:https://blog.csdn.net/diviner_s/article/details/115934089 项目最终效果图: 此篇博客为自己学习pink老师的...

    数据可视化前言:https://blog.csdn.net/diviner_s/article/details/115933789
    Apache Echarts简介:https://blog.csdn.net/diviner_s/article/details/115934089
    项目最终效果图:
    在这里插入图片描述
    此篇博客为自己学习pink老师的课后完成的项目的总结与记录,仅供交流参考。版权所有,转载请标注原作者!
    使用echarts技术做的可视图,此外其项目包含 的技术有html、css、js、jquerry、ajax、websocket、koa等。

    写到这里我们的系列文也到了前端最后一个界面,做左侧第一个柱状图跳转子界面。

    预告:下一篇开始就我们将前后端进行分离以及实现前后端交互。

    实现数据动态获取

    目的是使用同一个界面图表模板,通过点击不同的元素实现传输对应的不同数据进行展示。

    左侧跳转界面不同数据展示
    在这里插入图片描述
    右侧跳转界面不同数据展示
    在这里插入图片描述

    cookie存储信息

    Cookie 用于存储 web 页面的用户信息。在这里我们用cookie存储首页面点击柱状图元素下标
    在这里插入图片描述

    如上图,我们继续看针对左上柱状图的每个柱状体都对应着不同下标,因此我们使用cookie暂时存储下标。

    cookie创建

    • 创建cookie:document.cookie = params.dataIndex默认情况下,cookie 在浏览器关闭时删除。
      我们现在首页左上柱状图试验一下:
      这段代码位置:
      在这里插入图片描述
      我们使用如下代码,打印获取的dataIndex和cookie值:

            //4.点击柱状图跳转
            myChart1.on('click', function (params) {
              console.log('dataIndex: ' + params.dataIndex);
              document.cookie = params.dataIndex;
              console.log('cookie: ' + document.cookie);
              //cookie传递params的数组下标
              //获取统计数据
              
      		//先将跳转界面注释掉			
              //  window.location.href = 'childpage.html';
            });
      

    点击不同柱体打印的就是不同cookie值,看右侧打印情况:
    在这里插入图片描述
    因此我们已经将对应index存入cookie,接下来就是读取cookie。

    cookie读取

    在 JavaScript 中, 可以使用var x = document.cookie来读取 cookie。

    注意:document.cookie 将以字符串的方式返回所有的 cookie,类型格式: cookie1=value; cookie2=value; cookie3=value;

    返回格式是字符串+;返回,因此我们使用分隔符取“‘;”前的数。

    var jsonstr = document.cookie.split(';')[0];

    在这里插入图片描述

    子页面一

    跳转动画展示
    在这里插入图片描述
    子页面展示
    在这里插入图片描述
    子页面给出两个图表,分别是关于行业分布的柱状图和关于行业班级比例的扇形图。

    纵向柱状图

    图表还不会配置的来这里!,后面直接放代码。
    数据来源:采用Ajax的get(url,function())请求获取数据
    这里需要注意的是:function是回调函数需要获取数据后存放在ret后,在done中进行数据的解析。

    (function () {
    	// 使用cookie存点击的数据
      var jsonstr = document.cookie.split(';')[0];
    
      console.log("cookie:" + jsonstr);
      
      //ajax的get请求获取数据
      $.get("data/case0", function (ret, status) {
    
        var job = []
        var number = []
        console.log("data长度:" + ret[jsonstr].length)
        console.log(ret)
        var maxn = 0;
        for (var i = 0; i < ret[jsonstr].length; i++) {
          var name = ret[jsonstr][i].name
          var num = ret[jsonstr][i].number
          if (maxn < num) maxn = num
          console.log(name + " " + num + "  ==== ")
          job.push(name)
          number.push(num)
        }
        // console.log(job)
        // console.log(number)
    
        var mCharts1 = echarts.init(document.getElementById("div1"))
        option1 = {
          grid: { containLabel: true },
          xAxis: {
            type: 'value',
            axisLabel: {
              color: '#fff',
              fontSize: "15"
            },
            axisLine: {
              lineStyle: {
                type: 'solid',
                color: '#fff',//左边线的颜色
                //width:'1'
              }
            }
          },
          yAxis: {
            name: '职业',
            type: 'category',
            axisLabel: {
              //color: "rgba(255,255,255,.6) ",
              color: '#fff',
              fontSize: "20"
            },
            axisLine: {
              lineStyle: {
                type: 'solid',
                color: '#fff',//左边线的颜色
                //width:'1'
              }
            },
            data: job,
          },
          visualMap: { //控制颜色渐变
            orient: ' ',
            left: 'center',
            min: 1,
            max: maxn,
            textStyle: {
              fontSize: 20,
              color: '#fff'
            },
            text: ['', '就业人数:'],
            // Map the score column to color
            dimension: 0,
            inRange: {
              color: ['#65B581', '#FFCE34', '#FD665F']
            }
          },
          
          series: [{
            data: number,
            type: 'bar',
            barWidth: "50%",
            label: {
              show: false
            },
            itemStyle: {
              // 修改柱子圆角
              barBorderRadius: 10
            }
          }],
        };
    
        mCharts1.setOption(option1)
    
      });
    })();
    

    环形图

    (function () {
      var jsonstr = document.cookie.split(';')[0];
    
      //console.log("cookie2:" + jsonstr);
    
      $.get("http://127.0.0.1:8888/api/banjibili", function (ret, status) {
    
        console.log(ret)
        console.log(ret[jsonstr])
        var mCharts2 = echarts.init(document.getElementById("div2"))
        option2 = {
          tooltip: {
            trigger: 'item',
            formatter: '{b} : {c} ({d}%)'
          },
          color: [
            "#FE642E",
            "#FE9A2E",
            "#F4FA58",
            "#ACFA58",
            "#01DFD7",
            "#0096ff",
            "#8258FA",
            "#FE2E9A"
          ],
          legend: {
            top: "bottom",
            left: "center",
            //bottom: '0',
            textStyle: {
              color: '#fff',
              fontSize: 18
            }
          },
          series: [
            {
              type: 'pie',
              radius: ['40%', '70%'],
              avoidLabelOverlap: false,
              label: {
                show: false,
                position: 'center',
              },
              emphasis: {
                label: {
                  show: true,
                  fontSize: '30',
                  fontWeight: 'bold'
                }
              },
              labelLine: {
                show: false
              },
              data: ret[jsonstr]
            }
          ]
        };
        mCharts2.setOption(option2);
    
        /*******高亮显示开始**********/
        var _this2 = this
        var isSet2 = true // 为了做判断:当鼠标移动上去的时候,自动高亮就被取消
        var currentIndex2 = 0
    
        // 2、鼠标移动上去的时候的高亮动画
        mCharts2.on('mouseover', function (param) {
          isSet2 = false
          clearInterval(_this2.startCharts)
          // 取消之前高亮的图形
          mCharts2.dispatchAction({
            type: 'downplay',
            seriesIndex: 0,
            dataIndex: currentIndex2
          })
          // 高亮当前图形
          mCharts2.dispatchAction({
            type: 'highlight',
            seriesIndex: 0,
            dataIndex: param.dataIndex
          })
          // 显示 tooltip
          mCharts2.dispatchAction({
            type: 'showTip',
            seriesIndex: 0,
            dataIndex: param.dataIndex
          })
        })
        // 3、自动高亮展示
        chartHover = function () {
          var dataLen = mCharts2.getOption().series[0].data.length //计算总的数组长度
          // 取消之前高亮的图形
          mCharts2.dispatchAction({
            type: 'downplay',
            seriesIndex: 0,
            dataIndex: currentIndex2
          })
          currentIndex2 = (currentIndex2 + 1) % dataLen
          // 高亮当前图形
          mCharts2.dispatchAction({
            type: 'highlight',
            seriesIndex: 0,
            dataIndex: currentIndex2
          })
          // 显示 tooltip
          mCharts2.dispatchAction({
            type: 'showTip',
            seriesIndex: 0,
            dataIndex: currentIndex2
          })
        }
        _this2.startCharts = setInterval(chartHover, 1000)
        // 4、鼠标移出之后,恢复自动高亮
        mCharts2.on('mouseout', function (param) {
          if (!isSet2) {
            _this2.startCharts = setInterval(chartHover, 1000)
            isSet2 = true
          }
        })
        /*******高亮显示结束**********/
    
    
      });
    })();
    
    

    子页面二

    跳转动画展示
    在这里插入图片描述
    子页面展示

    在这里插入图片描述

    柱状图

    (function () {
      //不同就业去向
      var jsonstr = document.cookie.split(';')[0];
      console.log("cookie:" + jsonstr);
      $.get("http://127.0.0.1:8888/api/nannv", function (ret, status) {
    
        var data1 = ret[jsonstr].data;
        var myChart = echarts.init(document.getElementById("div1"));
        var option = {
          legend: {
            bottom: "0%",
            textStyle: {
              color: "write"
            }
          },
          tooltip: {},
          dataset: {
            dimensions: ['product', '男', '女'],
            source: data1
          },
    
          xAxis: {
            type: 'category',
            axisLabel: {
              color: '#fff',
              fontSize: "20"
            },
            axisLine: {
              lineStyle: {
                type: 'solid',
                color: '#fff',
              }
            },
          },
          yAxis: {
            name: "人数",
            axisLabel: {
              color: '#fff',
              fontSize: "20"
            },
            axisLine: {
              lineStyle: {
                type: 'solid',
                color: '#fff',
              }
            },
          },
          barWidth: "30%",
          series: [
            {
              type: 'bar', itemStyle: {
                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                  offset: 0,
                  color: 'rgba(0, 221, 255)'
                }, {
                  offset: 1,
                  color: 'rgba(77, 119, 255)'
                }])
              },
              label: {
                show: true,
                position: 'top',
                color: "white",
                fontSize: 20
              },
              barGap: "20%"
            },
            {
              type: 'bar', color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                offset: 0,
                color: 'rgba(255, 0, 135)'
              }, {
                offset: 1,
                color: 'rgba(135, 0, 157)'
              }]),
              label: {
                show: true,
                position: 'top',
                color: "white",
                fontSize: 20
              },
            },
    
          ]
        };
        myChart.setOption(option);
      })
    })();
    

    饼图

    (function () {
      //班级男生人数
      var jsonstr = document.cookie.split(';')[0];
      $.get("http://127.0.0.1:8888/api/nannv", function (ret, status) {
        var data1 = ret[jsonstr].nan;
        //班级女生人数
        var data2 = ret[jsonstr].nv;
        var myChart = echarts.init(document.getElementById('div2'));
        var option;
        option = {
          tooltip: {
            trigger: 'item',
            formatter: function (params) {
              // do some thing
              console.log(params)
              return params.name + ":" + params.value + "人"
            }
          },
          // legend: {
          //   orient: 'vertical',
          //   left: 'left',
          //   bottom: "0%",
          //   itemWidth: 30,
          //   itemHeight: 30,
          //   textStyle: {
          //     color: "write"
          //   }
          // },
          series: [
            {
              type: 'pie',
              radius: '60%',
              itemStyle: {
                normal: {
                  label: {
                    fontSize: 20,
                    show: true,
                    position: [0, -20],
                    color: '#ddd',
                    formatter: function (params) {
                      var percent = 0;
                      var total = 0;
                      total += data1 + data2;
                      percent = ((params.value / total) * 100).toFixed(0);
                      if (params.name !== '') {
                        return params.name + ':' + percent + '%';
                      } else {
                        return '';
                      }
                    },
                  },
                  labelLine: {
                    length: 15,
                    length2: 10,
                    show: true,
                    color: '#00ffff',
                  },
                },
              },
    
              data: [
                {
                  value: data1, name: '男',
                  itemStyle: {
                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                      offset: 0,
                      color: 'rgba(0, 221, 255)'
                    }, {
                      offset: 1,
                      color: 'rgba(77, 119, 255)'
                    }])
                  }
                },
                {
                  value: data2, name: '女',
                  itemStyle: {
                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                      offset: 0,
                      color: 'rgba(255, 0, 135)'
                    }, {
                      offset: 1,
                      color: 'rgba(135, 0, 157)'
                    }])
                  }
                }
              ],
              emphasis: {
                itemStyle: {
                  shadowBlur: 10,
                  shadowOffsetX: 0,
                  shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
              }
            }
          ]
        };
        myChart.setOption(option)
    
      })
    })()
    

    CSS界面布局

    两个子界面使用的同一个CSS布局

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }
    li {
      list-style: none;
    }
    /* 声明字体*/
    @font-face {
      font-family: electronicFont;
      src: url(../font/DS-DIGIT.TTF);
    }
    body {
      background: url(../images/bg.jpg) no-repeat top center;
      line-height: 1.15;
      overflow:hidden;
    }
    header {
      position: relative;
      height: 1.25rem;
      background: url(../images/head_bg.png) no-repeat;
      background-size: 100% 100%;
    }
    header h1 {
      font-size: 0.475rem;
      color: #fff;
      text-align: center;
      line-height: 1rem;
    }
    header .showTime {
      position: absolute;
      right: 0.375rem;
      top: 0;
      line-height: 0.9375rem;
      color: rgba(255, 255, 255, 0.7);
      font-size: 0.25rem;
    }
    .mainbox {
      display: flex;
      min-width: 1024px;
      max-width: 1920px;
      margin: 0 auto;
      padding: 1.4rem 0.125rem 0;
    }
    .mainbox .column {
      flex: 5;
    }
    .mainbox .column:nth-child(2) {
      flex: 3;
      margin: 0 0.125rem 0.1875rem;
      overflow: hidden;
    }
    .mainbox .panel {
      position: relative;
      height: 9rem;
      padding: 0 0.1875rem 0.1rem 0.5rem;
      border: 1px solid rgba(25, 186, 139, 0.17);
      margin-bottom: 0.1875rem;
      background: url(../images/line.png) rgba(255, 255, 255, 0.03);
    }
    .mainbox .panel::before {
      position: absolute;
      top: 0;
      left: 0;
      width: 10px;
      height: 10px;
      border-left: 2px solid #02a6b5;
      border-top: 2px solid #02a6b5;
      content: "";
    }
    .mainbox .panel::after {
      position: absolute;
      top: 0;
      right: 0;
      width: 10px;
      height: 10px;
      border-right: 2px solid #02a6b5;
      border-top: 2px solid #02a6b5;
      content: "";
    }
    .mainbox .panel .panel-footer {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
    }
    .mainbox .panel .panel-footer::before {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 10px;
      height: 10px;
      border-left: 2px solid #02a6b5;
      border-bottom: 2px solid #02a6b5;
      content: "";
    }
    .mainbox .panel .panel-footer::after {
      position: absolute;
      bottom: 0;
      right: 0;
      width: 10px;
      height: 10px;
      border-right: 2px solid #02a6b5;
      border-bottom: 2px solid #02a6b5;
      content: "";
    }
    .mainbox .panel h2 {
      height: 0.6rem;
      color: #fff;
      line-height: 1.6rem;
      text-align: center;
      font-size: 0.45rem;
      font-weight: 400;
    }
    
    .mainbox .panel .chart {
      height: 8rem;
    }
    
    
    


    有不懂的可以私聊我,有需要echarts.js、jQuery.js、echarts-gl.js开源库。
    评论区留下邮箱,我看到都会发给你的。


    项目源码我放在我的分享的资源里了,需要请自取

    展开全文
  • 隐藏接近于零的Excel图表数据标签.rar,在制作饼图时,经常因为数据百分比相差悬殊,或某个数据接近于0,而不能显示出相应的色块,只显示一个“0%”的数据标志。此时,可以通过自定义数字格式的方法来隐藏这样的数据...
  • echarts 图表数据更新方式

    千次阅读 2019-08-13 15:00:45
    页面 echarts 图表 在做一些数据交互的时候会涉及到一些数据的更新。如果只是简单的新数据传递给echarts图表,许多时候我们会发现 旧有的时候依然残留在页面之上 如下一示例 旧数据 series: [{ name: ‘A’, type: ...

    问题表现
    页面 echarts 图表 在做一些数据交互的时候会涉及到一些数据的更新。如果只是简单的新数据传递给echarts图表,许多时候我们会发现 旧有的时候依然残留在页面之上
    如下一示例
    旧数据

    series: [{
    name: ‘A’,
    type: ‘bar’,
    data: [200, 300, 100, 330, 350],
    },{
    name: ‘B’,
    type: ‘bar’,
    data: [500, 100, 400, 300, 600],
    }]
    新数据

    series: [{
    name: ‘C’,
    type: ‘bar’,
    data: [200, 300, 100, 330, 350],
    }]
    如果不做处理,只是进行 chart.setOption(newData),那么旧有的数据 B 将依旧残留在页面之上

    数据残留 实例

    问题产生原因
    chart.setOption(option, {
    notMerge: …,
    lazyUpdate: …,
    silent: …
    })
    setOption 中的 notMerge 即为不合并之意默认为 false,即合并。
    我们在 setOption 的时候 仅仅是传输了一些 新的数据,其它的一些如 图表的类型,基本样式,tooltip 等等均为再次设置,这个时候 notMerge 便起作用了,它将 echarts 一些原有的一些数据样式等与 我们的 newData 一同合并进入 chart 实例当中,从而显现完整的 echarts 图表。
    问题是,我们很希望 只是一些样式 进行了合并,而数据不需要了。这时候矛盾点产生了。

    解决途径
    弃用 默认 merge,主动加载完整的 echarts 图表配置。
    在我们每次 进行 setOption 的时候,如此操作 demo.setOption(demoOption, true) 即可。
    这样就需要每次 传入 完整的 echarts 图表设置,像是一些字体大小颜色等等等。我们关注的核心只应是 数据层面,及其一些跟随数据变化的文字样式等。

    解决数据重复拼写问题 $.extend(true, demoOption, newOption)
    可以通过 jquery的深拷贝方法,将我们 的数据及一些样式更改 放在 newOption 当中,demoOption 中仅仅是一些 echarts 实例的一些基本配置。如此,

    可以实现对 数据及样式的集中管理
    免去了数据 合并 造成旧数据残留的问题
    基本配置如下

    $(function () {
    var echartOpt = {
    fz: ‘15’,
    color: ‘#fff’
    };

    var demo = echarts.init(document.getElementById('trade-history'));
    function Initdemo(data, obj) {
        var demoOption = echarts 图表基本样式
    
        // 有时候 我们也需要将 数据 的样式 也一同提炼出来
        var seriesStyle =  [{
                itemStyle: {
                    normal: {
                        barBorderRadius: 10,
                        borderColor: '#3fa7dc',
                        color: 'red'
                    }
                }
            },
            ...{othersStyle}]                          
    
        var legend =  ['A', 'a']         // 新的图例数据
        var newOption = {
            legend: {
                data: legend
            },
            series: data                // 传入的数据
        }
    
        newOption.series.forEach(function (item, index) {
            $.extend(true, item, seriesStyle[index])    // 将数据样式 加载到我们的 新数据上面
        });
    
        $.extend(true, demoOption, newOption)  // 新旧数据合并
    
        demo.setOption(demoOption, true);
    }
    Initdemo();
    

    })

    展开全文
  • java导出excel图表数据

    千次阅读 2015-12-16 10:48:25
    导出excel图表 因为客户的要求,需要在导出报表时Excel中要有图表图表要跟据...最后经研究绝定将图表做成一个模板,java程序向模板里添加数据,通过Excel的函数来设置图表数据。 excel图表模板的制作 例如我们

    导出excel图表

    因为客户的要求,需要在导出报表时Excel中要有图表,图表要跟据数据的条数来自动增加。因为项目组内之前没有人做过,一开始大家方向统一都转向用Java操作excel的宏来实现,用excel宏实现必须懂VB,这样就提高了开发成本和维护成本。最后经研究绝定将图表做成一个模板,java程序向模板里添加数据,通过Excel的函数来设置图表的数据。

    excel图表模板的制作

    例如我们做一下季度报表

    1.先在excel中写入一些数据,选中写入的所有数据,插入——>柱状图


    2.在生成的柱状图上右击——>选择数据——>点击切换行/列按钮——>确定

     

     

    3.点击公式——>名称管理——>新建

     


    注:公式称必须是英文名称

    引用位置中  Sheet1 是当前sheet页的名称  $A$2表示A列第2行开始

    依次将所有列都新建


     

    4.依次选中山东省分行上的柱子,在公式框中依次输入

    =SERIES("一季度",Sheet1!dept,Sheet1!que_1,1)

    =SERIES("一季度",Sheet1!dept,Sheet1!que_2,2)

    =SERIES("一季度",Sheet1!dept,Sheet1!que_3,3)

    =SERIES("一季度",Sheet1!dept,Sheet1!que_3,3)

     

    这样模板就做好了,我们只需要在表格上新增一条数据,图表就会相应的更新

     

     

     

    POI根据模板导出EXCEL

    public class ModuleExcel implements IModuleExcel
    {
           /*
           *excelTemplatePath 模板名称
           *outputStream 输出流
           *cellList  数据LIST List<Map<String,Object>>
           *titleList 数据Map里的Key
           */
    
           public void writeExcel(String excelTemplatePath,OutputStream outputStream,
                  List<Map<String,Object>> cellList,String[] titleList)
           {
    
                  POIFSFileSystem modelook = null;
    
                  HSSFWorkbook book = null;
    
                  HSSFSheet sheet = null;
                  try
                  {
                         if(excelTemplatePath!=null)
                         {
                                //加载模板 模板名称 /export/YearChartForScore.xls
                                //final InputStream in =(IModuleExcel.class).getClassLoader().getResourceAsStream(excelTemplatePath);
                                final InputStream in = new FileInputStream(excelTemplatePath);
                                modelbook = new POIFSFileSystem(in);
                         }
                         book = new HSSFWorkbook(modelbook);
                         sheet = book.getSheetAt(0);
                         //向Excel中写入数据
                         for(int j=0; j<cellList.size(); j++)
                         {
                                HSSFRow row = sheet.createRow(j+1);
                                Map<String,Object> dataMap = cellList.get(j);
                                for(int i=0; i< titleList.length; i++)
                                {
                                       String titleName = titleList[i];
                                       HSSFCell cell = row.createCell((short)i);
                                       if(i!=0)
                                       {
                                              cell.setCellValue(Integer.parseInt(dataMap.get(titleName)==null ? 0 : dataMap.get(titleName.toString()));
                                       }else
                                       {
                                              cell.setCellValue(dataMap.get(titleName)==null ? "" :dataMap.get(titleName).toString());
                                       }
                                }
                         }
    
                         book.write(outputStream);
                         outputStream.close();
                  }catch(Exception e)
                  {
                         outputStream.close();
                         e.printStackTrace();
                  }
           }
     
    
           public static void main(String[] args)
    
           {
                  File file = new File("D:/report.xls");
                  OutputStream outputStream = null;
                  if(!file.exists())
                  {
                         try
                         {
                                file.createNewFile();
                                outputStream = new FileOutputStream(file);
                         }catch(final Exception e){
                                e.printStackTrace();
                         }
                  }
     
                  String[] titleList =  new String[]{"dept","que1","que2","que3","que4"};
                  List<Map<String,Objct>> cellList = new ArrayList<Map<String,Object>>();
                  Map<String,Object> data1 = new HashMap<String,Object>();
                  data1.put("dept","总行");
                  data1.put("que1",20);
                  data1.put("que2",30);
                  data1.put("que3",10);
                  data1.put("que4",15);
    
                  Map<String,Object> data2 = new HashMap<String,Object>();
                  data2.put("dept","山东省分行");
                  data2.put("que1",18);
                  data2.put("que2",28);
                  data2.put("que3",8);
                  data2.put("que4",13);
    
     
                  Map<String,Object> data3 = new HashMap<String,Object>();
                  data3.put("dept","山西省分行");
                  data3.put("que1",10);
                  data3.put("que2",30);
                  data3.put("que3",22);
                  data3.put("que4",16);
                  cellList.add(data1);
                  cellList.add(data2);
                  cellList.add(data3);
                  ModuleExcel excel = new ModuleExcel();
                  excel.writeExcel("D:/excel.xls",outputStream,cellList,titleList);
    
           }
    
    }


    导出结果


     

     

    展开全文
  • Echarts图表数据变动后重新渲染

    千次阅读 2020-11-05 17:28:27
    在Echarts图表数据发生变化时,经常需要重新渲染表格。官方文档中有一个选项,一直忘记记录,所以在这里记录一下。 前言:之前使用echarts折线图时,先是加载十条数据,后面再次加载一条数据发现页面上还是十条...

    在Echarts图表数据发生变化时,经常需要重新渲染表格。官方文档中有一个选项,一直忘记记录,所以在这里记录一下。

    前言:之前使用echarts折线图时,先是加载十条数据,后面再次加载一条数据发现页面上还是十条数据,只有第一条变成第二次加载后的数据。
    提问:为何折线图没有全部更新数据,删除多余的数据?

    遇事不决,多看文档,传送门:https://echarts.apache.org/zh/api.html#echartsInstance.setOption

    参数:

    调用方式:

    chart.setOption(option, notMerge, lazyUpdate);

    或者:

    chart.setOption(option, {
        notMerge: ...,
        lazyUpdate: ...,
        silent: ...
    });

    参数解释:

    • option

      图表的配置项和数据,具体见配置项手册

    • notMerge

      可选,是否不跟之前设置的 option 进行合并,默认为 false,即合并。

    • lazyUpdate

      可选,在设置完 option 后是否不立即更新图表,默认为 false,即立即更新。

    • silent

      可选,阻止调用 setOption 时抛出事件,默认为 false,即抛出事件。

     

    所以,重点就在第二个参数notMerge,将它设置为true即可不合并之前的options,使用新的options

    展开全文
  • axure数据图表-元件库

    2018-02-09 11:14:00
    axure数据图表-元件库,通过AXURE导入就可以直接使用,内有大量数据图表,直接拖用,很方便哦,快来看看吧
  • Python数据图表可视化

    千人学习 2020-06-05 15:29:07
    数据分析是一门重要的技能,职场中掌握了数据分析技术往往能让人另眼相看,而数据可视化是数据分析的结果展示最有效的手段,本视频是Pandas数据分析课程的后续课程,可以掌握各种图表的绘制方法,通过实际案例的讲解...
  • 拖拽滑块时,图表的节点会跟着上下滑动,上下拖拽图表时,滑块也会跟着动,这个要怎么弄呀? 滑块每次滑动的步长是5,我希望图表每次也是滑动的步长是5,此外,滑动图标时,不能超出,y轴的上下限,那要如何去做...
  • 问题:在vue组件中,用echarts插件 动态获取、修改图表数据 解决:已解决! 第一步:打开cmd命令窗口 安装echarts依赖 安装:npm install echarts -S 第二步:在main.js中全局引入   //引入echarts的图表插件...
  •  echarts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,来自百度。。。我想应该够简洁了 使用Echarts  目前,就官网的文档显示,使用echarts有两种方式,echarts3之前的版本使用“模块...
  • vue项目里使用ECharts图标后台返回图标数据
  • echarts请教一个问题,API中有这个方法myChart.getOption()是返回内部持有的。我用事件绑定的区域缩放,进行缩放时怎样获取当前图表所显示的数据呢(是当前所显示的)?
  • 常见的数据分析图表

    千次阅读 2020-10-02 12:37:05
    常见的数据分析图表
  • Echarts图表数据动态单位显示

    千次阅读 2016-11-08 15:57:42
    首先,基本的图表操作与之前的一致,然后需要进行的操作就是在通过ajax获取数据之后,动态进行Option的构造的时候,严重注意装数据的时候要装原始数据,在这个地方不要进行单位换算,因为如果你的图有坐标轴的话,...
  • Echarts3通过ajax动态获取数据,30秒定时图表数据,设置图表线条颜色和粗细代码块<!DOCTYPE html> 话务预测分析-折线图 , initial-scale=1.0, mi
  • Excel表格数据生成ECharts图表

    万次阅读 多人点赞 2019-03-25 23:48:34
    什么东西: 是这样,前些时候有个网友问我,ECharts怎么用,我说我研究研究。...其实大家仔细一看就知道Excel的数据和转换后的图表是怎么对应上的。例如: 文件名 --图名 首列名 --x轴名 首列...
  • HighCharts图表数据重新加载

    千次阅读 2018-09-06 14:58:35
    以饼状图为例 pie_chart = Highcharts.chart(‘PieChart’, { chart: { plotBackgroundColor: null, plotBorderWidth: null, plotShadow: false, ...
  • Echarts使用及动态加载图表数据

    万次阅读 2018-03-18 13:42:13
    Echarts简介 echarts,缩写来自Enterprise Charts,商业级数据图表,一个纯JavaScript的图表库,来自百度。。。我想应该够简洁了使用Echarts 目前,就官网的文档显示,使用echarts有两种方式,echarts3之前的版本...
  • 在excel图表上添加数据标签

    万次阅读 2019-05-30 12:44:13
    在excel图表上添加数据标签 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 https://zhidao.baidu.com/question/47838665 方法与步骤 在Excel2013中,选中柱子右键—添加数据标签-----添加数据标签(B),...
  • Axure图表组件,通过Axure导入就可以直接编辑使用,内含比较、构成、分布3大类18种图表及其变形,总有一款适合你
  • Excel函数、图表数据分析

    热门讨论 2006-03-31 09:36:57
    内容包括(17.6 数据透视表综合应用.17.7 动态频率数据透视图.17.7 选择数据透视图的数据列)等等一些关于函数,图表数据的分析
  • <Excel> 图表数据透视表制作

    千次阅读 2018-10-24 00:14:01
    数据分析基础技能之图表 常见图表与形状 制作简单图表 数据分析基础技能之数据透视表 制作数据透视表 数据透视表之分页(多工作表)显示 数据透视表之切片器 数据透视表之报表联接 数据透视表之日程表 数据...
  • asp.net使用echarts展示图表数据

    万次阅读 2015-06-29 15:58:49
    alert("图表数据加载失败!"); } }); } ///点击按钮获取图表数据采用ajax方式 function GetReport(code) { //获得图表的options对象 var options = myReportChart.getOption(); //通过Ajax获取数据 $....
  • WPS word编辑图表数据的正确姿态

    千次阅读 2016-03-07 12:12:54
    前段时间用 WPS word 做图表,依次选择 插入|图表|柱状图,然后右键图表,选择编辑数据,接着弹出excel。 看到了吗,数据周围是有边框的,这时我们要删除系列1和系列2。 选择 CD 两列后右键,注意是清除内容...
  • python 数据图表呈现

    千次阅读 2017-07-29 12:52:24
    @(python)平时压力测试,生成一些数据后分析,直接看 log 不是很直观,前段时间看到公司同事分享了一个绘制图表python 模块 : plotly, 觉得很实用,利用周末时间熟悉下。plotly 主页 : https://plot.ly/python/...
  • 数据可视化图表类型In the current era of large amounts of information in the form of numbers available everywhere, it is a difficult task to understand and get insights from these dense piles of data....
  • Java数据生成统计图表程序

    热门讨论 2008-05-13 13:37:00
    Java数据生成统计图表程序,根据输入的温数据数据生成统计折线图,采用的java数据结构,java swing和java图形.
  • 图表数据源的右下角按下鼠标,并向上方拖动,动态调整图表的数据源,并观察图表的变化。 3. 接着在图表数据源的右上角按下鼠标,并向左侧拖动,动态移动图表的数据源,并观察图表的变化。 4...
  • 数据可视化之数据图表呈现

    千次阅读 2019-10-08 14:26:29
    数据可以通过多种类型的图表进行呈现,不同的图表具有不同的呈现效果。本博文记录了使用过程中,用过的一些可视化方法。 一、盒形图 盒形图可以很好的表现数据分布,包括平均值,最小最大值等。python代码如下: ...
  • 最近用了highCharts插件来绘制图表,需求是按一个按钮,可以更新图表中的数据。 发现官网教程直接有这一个功能的介绍 链接:官网教程 官网给出的实例代码: var chart = Highcharts.chart('container', { title: { ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 280,939
精华内容 112,375
关键字:

怎么隐藏图表数据