echats多系列彩虹柱状图的图表统计

2024-05-29 09:58

本文主要是介绍echats多系列彩虹柱状图的图表统计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.此图报表相对于之前的柱状图,新颖难点在与应用zrender画图插件,引用时候需要注意。

2.准备阶段

下载zrender软件包,github地址为:https://github.com/ecomfe/zrender.git

下载解压后也就是zrender-master目录;

3.新建一个目录testddd,将js,echats,zrender所需要的文件都拷贝到这里

在testddd目录下新建一个zrender目录,将上一步解压后的zrender-master目录下的dist,src两个文件夹复制到新建的zrender目录下,

复制jquery需要js文件

复制echats需要的目录文件echats-2.2.7

效果图如下:

4.详细步骤

1.引入库文件:

<script type="text/javascript" src="js/jquery.min.js"></script>
   <script type="text/javascript" src="echarts-2.2.7/build/dist/echarts.js"></script>
   <script type="text/javascript" src="zrender/dist/zrender.js"></script>

2.引入echatjs,zrender需要文件的路径

   // eharts图表需要的公共的路径配置
    require.config({
    paths: {
        echarts: 'echarts-2.2.7/build/dist'
    }
    });
    //zrender需要的公共的路径配置
   require.config({
    packages: [
        {
            name: 'zrender',
            location: 'zrender/src',
            main: 'zrender'
        }
    ]
});

3.先加载zrender让其为数据元素配好颜色,itemstyles

4.再赋值加载图表数据函数

eport(colorList,itemStyle);//加载echats图表数据

5.具体代码

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>test</title>
  <script type="text/javascript" src="js/jquery.min.js"></script>
   <script type="text/javascript" src="echarts-2.2.7/build/dist/echarts.js"></script>
   <script type="text/javascript" src="zrender/dist/zrender.js"></script>
  <script type="text/javascript">
  $(document).ready(function(){


   // eharts图表需要的公共的路径配置
    require.config({
    paths: {
        echarts: 'echarts-2.2.7/build/dist'     //需要根据情况动态修改路径
    }
    });
    //zrender需要的公共的路径配置
   require.config({
    packages: [
        {
            name: 'zrender',
            location: 'zrender/src',   //需要根据情况动态修改路径
            main: 'zrender'
        }
    ]
});

show();
  
   });

function  show(){
require.config({
    packages: [
        {
            name: 'zrender',
 
          location: 'zrender/src', 
            main: 'zrender'
        }

    ]
});
require(
    [
        'zrender',
        'zrender/animation/animation',
        'zrender/shape/Circle',
        'zrender/tool/color'
    ],

    function(zrender, Animation, CircleShape,zrColor){
        //
var colorList = [
  '#ff7f50','#87cefa','#da70d6','#32cd32','#6495ed',
  '#ff69b4','#ba55d3','#cd5c5c','#ffa500','#40e0d0'
];
var itemStyle = {
    normal: {
        color: function(params) {
          if (params.dataIndex < 0) {
            // for legend
            return zrColor.lift(
              colorList[colorList.length - 1], params.seriesIndex * 0.1
            );
          }
          else {
            // for bar
            return zrColor.lift(
              colorList[params.dataIndex], params.seriesIndex * 0.1
            );
          }
        }
    }
};

report(colorList,itemStyle);//加载echats图表数据

    }
);

}

function report(colorList,itemStyle){
  require(
    [
    'echarts',
    'echarts/chart/bar' // 使用柱状图就加载bar模块,按需加载.

    ],
    function(ec) {
  var myChart = ec.init(document.getElementById('wechat_total'));
   option = {
    title: {
        text: '2010-2013年中国城镇居民家庭人均消费构成(元)',
        subtext: '数据来自国家统计局',
        sublink: 'http://data.stats.gov.cn/search/keywordlist2?keyword=%E5%9F%8E%E9%95%87%E5%B1%85%E6%B0%91%E6%B6%88%E8%B4%B9'
    },
    tooltip: {
        trigger: 'axis',
        backgroundColor: 'rgba(255,255,255,0.7)',
        axisPointer: {
            type: 'shadow'
        },
        formatter: function(params) {
            // for text color
            var color = colorList[params[0].dataIndex];
            var res = '<div style="color:' + color + '">';
            res += '<strong>' + params[0].name + '消费(元)</strong>'
            for (var i = 0, l = params.length; i < l; i++) {
                res += '<br/>' + params[i].seriesName + ' : ' + params[i].value 
            }
            res += '</div>';
            return res;
        }
    },
    legend: {
        x: 'right',
        data:['2010','2011','2012','2013']
    },
    toolbox: {
        show: true,
        orient: 'vertical',
        y: 'center',
        feature: {
            mark: {show: true},
            dataView: {show: true, readOnly: false},
            restore: {show: true},
            saveAsImage: {show: true}
        }
    },
    calculable: true,
    grid: {
        y: 80,
        y2: 40,
        x2: 40
    },
    xAxis: [
        {
            type: 'category',
            data: ['食品', '衣着', '居住', '家庭设备及用品', '医疗保健', '交通和通信', '文教娱乐服务', '其他']
        }
    ],
    yAxis: [
        {
            type: 'value'
        }
    ],
    series: [
        {
            name: '2010',
            type: 'bar',
            itemStyle: itemStyle,
            data: [4804.7,1444.3,1332.1,908,871.8,1983.7,1627.6,499.2]
        },
        {
            name: '2011',
            type: 'bar',
            itemStyle: itemStyle,
            data: [5506.3,1674.7,1405,1023.2,969,2149.7,1851.7,581.3]
        },
        {
            name: '2012',
            type: 'bar',
            itemStyle: itemStyle,
            data: [6040.9,1823.4,1484.3,1116.1,1063.7,2455.5,2033.5,657.1]
        },
        {
            name: '2013',
            type: 'bar',
            itemStyle: itemStyle,
            data: [6311.9,1902,1745.1,1215.1,1118.3,2736.9,2294,699.4]
        }
    ]
};
                    
                     
   // 为echarts对象加载数据
        myChart.setOption(option);
  });

}

  </script>
 </head>
 <body>
  <div id="wechat_total" style="width:800px;;height:600px;">
  </div>
  </div>
 </body>
</html>

6.效果图:

都看到这里了,就顺手点击右上角的小手,给个评论,再走呗!☺

 

 

这篇关于echats多系列彩虹柱状图的图表统计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1013344

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

hdu1496(用hash思想统计数目)

作为一个刚学hash的孩子,感觉这道题目很不错,灵活的运用的数组的下标。 解题步骤:如果用常规方法解,那么时间复杂度为O(n^4),肯定会超时,然后参考了网上的解题方法,将等式分成两个部分,a*x1^2+b*x2^2和c*x3^2+d*x4^2, 各自作为数组的下标,如果两部分相加为0,则满足等式; 代码如下: #include<iostream>#include<algorithm

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

hdu4267区间统计

题意:给一些数,有两种操作,一种是在[a,b] 区间内,对(i - a)% k == 0 的加value,另一种操作是询问某个位置的值。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import

hdu4417区间统计

给你一个数列{An},然后有m次查询,每次查询一段区间 [l,r] <= h 的值的个数。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamRead

hdu3333区间统计

题目大意:求一个区间内不重复数字的和,例如1 1 1 3,区间[1,4]的和为4。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;

实例:如何统计当前主机的连接状态和连接数

统计当前主机的连接状态和连接数 在 Linux 中,可使用 ss 命令来查看主机的网络连接状态。以下是统计当前主机连接状态和连接主机数量的具体操作。 1. 统计当前主机的连接状态 使用 ss 命令结合 grep、cut、sort 和 uniq 命令来统计当前主机的 TCP 连接状态。 ss -nta | grep -v '^State' | cut -d " " -f 1 | sort |

GPT系列之:GPT-1,GPT-2,GPT-3详细解读

一、GPT1 论文:Improving Language Understanding by Generative Pre-Training 链接:https://cdn.openai.com/research-covers/languageunsupervised/language_understanding_paper.pdf 启发点:生成loss和微调loss同时作用,让下游任务来适应预训