ECharts——初步使用 Bar渐变色设置

本文介绍了ECharts的基本概念,并通过一个简单的柱状图Bar实例展示了如何使用ECharts。通过分析代码和理解option、xAxis、yAxis及series等关键参数,实现了同一数据的两组表现,特别强调了在鼠标悬浮时柱状图的渐变色变化效果。

1.了解ECharts

2.尝试ECharts

>实际做一个柱状图Bar

1.先找一个最简单的实例:http://echarts.baidu.com/examples/editor.html?c=bar-simple   实例中给出的JavaScript代码:

option = {
    xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        data: [120, 200, 150, 80, 70, 110, 130],
        type: 'bar'
    }]
};

解析一下:

option:可以理解为外层容器,关于图像组件的参数等等都在里面申明定义。在后面会有一个myChart.setOption(option);这样的语句将其放到选定的容器中。(没错,这句话给出的代码里面并没有)

xAxis:文档解释>>直角坐标系 grid 中的 x 轴,一般情况下单个 grid 组件最多只能放上下两个 x 轴,多于两个 x 轴需要通过配置 offset 属性防止同个位置多个 x 轴的重叠。可以理解为设置X轴的对象,里面有很多相关的方法。

yAxis:文档解释>>直角坐标系 grid 中的 y 轴,一般情况下单个 grid 组件最多只能放左右两个 y 轴,多于两个 y 轴需要通过配置 offset 属性防止同个位置多个 Y 轴的重叠。

series:系列列表。每个系列通过 type 决定自己的图表类型。这个参数可以说是图标多样化的重中之重,里面可以放N多的数据,以组成一张图表。如果你要在一张表里面展示两组数据,那么series的表现就是:[{},{}],三组就是:[{},{},{}]。所以。。。

其他的二级的参数自己看文档就好了。

2.让这个实例在自己的电脑上展示:

下载实例>>分析JavaScript代码>>展示

 

代码如下:

<!DOCTYPE html>
<html style="height: 100%">

<head>
  <meta charset="utf-8">
</head>

<body style="height: 100%; margin: 0">
  <div id="container" style="height: 100%"></div>
  <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script>
  <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts-gl/echarts-gl.min.js"></script>
  <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts-stat/ecStat.min.js"></script>
  <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/extension/dataTool.min.js"></script>
  <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/map/js/china.js"></script>
  <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/map/js/world.js"></script>
  <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=ZUONbpqGBsYGXNIYHicvbAbM"></script>
  <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/extension/bmap.min.js"></script>
  <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/simplex.js"></script>
  <script type="text/javascript">
    /*基础版本*/
    var dom = document.getElementById("container"); //获取容器节点
    var myChart = echarts.init(dom); //将获取到的节点放进ECharts中的全局变量myChart中
    var app = {};
    option = null;
    /*-----------------示例给出的代码-----------------*/
    option = {
      xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
      },
      yAxis: {
        type: 'value'
      },
      series: [{
        data: [120, 200, 150, 80, 70, 110, 130],
        type: 'bar'
      }]
    };
     /*-----------------示例给出的代码-----------------*/
    //将option放到全局变量myChart中
    if (option && typeof option === "object") {
      myChart.setOption(option, true);
    }
  </script>
</body>

</html>

明显的,在实例给出的代码上下都有额外的代码,用处已经配置。然后再看看文档,看下其他的实例就可以做出比较简单的图表了。

3.做一个同一种数据的,两组表现的图标:【效果图】当鼠标悬浮时渐变色会的顺序会发生改变:

全部代码:(发出来只是用作参考)

<!DOCTYPE html>
<html style="height:100%;width:100%;">

<head>
  <meta charset="utf-8">
  <title>BarTest</title>
  <!--导入echarts文件  -->
  <script src="../js/echarts.js"></script>
</head>

<body style="margin:0px;height:100%;width:100%;">
  <!--为echarts创建一个容器  -->
  <div id="main" style="width:100%;height:100%"></div>
  <!--编写echarts图标代码  -->
  <script type="text/javascript" charset="utf-8">
    var myChart = echarts.init(document.getElementById("main")); //选定容器
    var app = {};
    option = {
      title: {
        text: '月度消费一览',
      },
      xAxis: {
        type: 'category',
        data: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月']
      },
      yAxis: {
        type: 'value'
      },
      series: [{
        name: '柱形图',
        type: 'bar',
        data: [200, 450, 120, 280, 370, 180, 120, 210, 300, 390],
        barWidth: '20%',//柱子显示的宽度
        itemStyle: {
          normal: {
            color: new echarts.graphic.LinearGradient(
              0, 0, 0, 1,//渐变色在下面修改,这里是透明度
              [{
                  offset: 0,
                  color: '#f1ff50'
                },
                {
                  offset: 0.5,
                  color: '#d0e205'
                },
                {
                  offset: 1,
                  color: '#f8ffa7'
                }
              ]
            )
          },
          emphasis: {//悬浮的渐变色在这里
            color: new echarts.graphic.LinearGradient(
              0, 0, 0, 1,
              [{
                  offset: 0,
                  color: '#d0e205'
                },
                {
                  offset: 0.7,
                  color: '#f8ffa7'
                },
                {
                  offset: 1,
                  color: '#f1ff50'
                }
              ]
            )
          }
        },
        /*显示柱子数据*/
        label: {
          normal: {
            show: true,
            //数据在柱子头部加载
            position: 'top',
            textStyle: {
              color: '#FF5F5F',
              fontSize: 14,
            }
          }
        },
      }, {
        data: [200, 450, 120, 280, 370, 180, 120, 210, 300, 390],
        type: 'line',
        itemStyle: {
          color: '#FFC568',
          borderColor: '#FFFFFF',
          borderWidth: 5,
          symbol: 'circle',
          showSymbol: true,
        },
      }]
    };

    if (option && typeof option === "object") {
      myChart.setOption(option, true);
    }
  </script>
</body>

</html>

因为是百度出的,所以文档阅读起来不会很难。总之,简单粗暴。

以上,基本就可以做一些简单的图标了。

### 关于ECharts 3D柱状图(bar3D)的使用方法 #### 创建基本环境 为了创建一个基于 ECharts 的 3D 柱状图,首先需要引入必要的库文件。这通常意味着要加载 `echarts.min.js` 和用于扩展其功能的支持3D图形渲染能力的脚本 `echarts-gl.min.js`[^2]。 ```html <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/echarts-gl/dist/echarts-gl.min.js"></script> ``` #### 初始化图表实例并配置基础属性 初始化图表对象之后,可以开始设定一些全局性的参数来控制整个图表的表现形式,比如视角角度、光照效果等。这些设置对于提升最终视觉效果至关重要。 ```javascript var chartDom = document.getElementById('main'); var myChart = echarts.init(chartDom); var option; option = { backgroundColor: '#fff', title: { text: '3D Bar Chart Example' }, tooltip: {}, visualMap: { show: false, min: 0, max: 50, inRange: { color: ['#313695', '#4575b4', '#74add1'] } }, }; ``` #### 定义坐标系与数据源 在定义好背景色和其他辅助组件后,下一步就是指定使用的坐标系统以及准备实际的数据集。这里选择了笛卡尔直角坐标系作为承载空间,并通过数组的形式传递具体数值给各个维度上的轴标签和对应的系列项。 ```javascript myChart.setOption({ xAxis3D: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], name: 'Day of Week' }, yAxis3D: { type: 'value', name: 'Value' }, zAxis3D: { type: 'category', data: ['A', 'B', 'C'], name: 'Category' }, }); ``` #### 添加Bar3D序列及其样式调整 最后一步则是向场景中加入具体的 bar3D 序列元素,并对其进行个性化装饰——如改变形状、尺寸比例或是应用渐变填充等方式让图表更加生动形象。 ```javascript series: [{ type: 'bar3D', itemStyle: { opacity: 0.8, color: function(params) { // 自定义颜色函数处理特殊情况下的显示问题 var value = params.value[1]; if (value === 0) return 'rgba(0,0,0,0)'; else return echarts.colorPalette[Math.floor(Math.random() * echarts.colorPalette.length)]; } }, shading: 'lambert', emphasis: { label: { fontSize: 20, borderWidth: 1 } }, data: [ [0, 24.7, 0], [1, 27.9, 1], [2, 32.4, 2], [3, 30.4, 0], [4, 29.3, 1], [5, 26.7, 2], [6, 28.4, 0] ].map(function(item) { return { value: [item[0], item[1], item[2]] }; }) }] ``` 以上代码片段展示了如何利用 ECharts 及其附加模块构建一个简单而直观的 3D 柱状图案例。当然,在真实项目开发过程中可能还需要考虑更多细节优化,例如交互响应机制的设计、性能调优等方面的工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值