echarts中的显示

主题

默认主题

ECharts 中默认内置了两套主题: light dark

在初始化对象方法 init 中可以指明

var chart = echarts.init(box, 'light')
var chart = echarts.init(box, 'dark')

 light效果

var box=echarts.init(document.getElementById("box") ,'light');

echarts中的显示

 

 

 

 dark效果

var box=echarts.init(document.getElementById("box") ,'dark');

echarts中的显示

 

 

 自定义主题

在主题编辑器中编辑主题

主题编辑器的地址为: https://echarts.apache.org/zh/theme-builder.html

echarts中的显示

1>在该地址中, 定义一个主题的很多方面的内容:

echarts中的显示

2>下载主题, 是一个 js 文件

设置好想要的主题样式之后点击下载,下载js格式

echarts中的显示

3>引入主题 js 文件

<script src="./lib/customed.js"></script>

4>在 init 方法中使用主题

var box=echarts.init(document.getElementById("box") ,'customed');

echarts中的显示

init方法中的第二个参数customed就是主题的名称,这个名称叫什么我们可以在itcast.js的代码中看出

echarts中的显示

 调色盘

它是一组颜色,图形、系列会自动从其中选择颜色,不断的循环从头取到尾,再从头取到尾,如此往复

主题调色盘

在刚刚自定义下载的主题中,设置我们想要的颜色

echarts中的显示

 

 

 引入主题文件后我们可以看到

                                 没引入之前                                              引入之后

   echarts中的显示echarts中的显示

全局的调色盘

 全局调色盘是在 option 下增加一个 color 的数组

如果配置了全局调色盘,那么它将覆盖主题调色盘

var option = {
    color:['red','blue','green'],
  series: [
   {
      type: 'pie',
      data: pieData
   }
 ]
} 

 此时就会显示我们全局定义的颜色,

echarts中的显示

 

 

 局部调色盘

局部调色盘就是在 series 下增加一个 color 的数组

var option = {
    color:['red','blue','green'],
  series: [
   {
      type: 'pie',
      data: pieData,
    color:['pink','skyblue','orange'],

   }
 ]
} 

 此时局部调色就会覆盖全局调色

echarts中的显示

 

 

 注意:局部>全局>主题,采取就近原则

渐变颜色

在 ECharts 中, 支持线性渐变和径向渐变两种颜色渐变的方式

线性渐变

线性渐变的类型为 linear , 他需要配置线性的方向, 通过 x, y, x2, y2 即可进行配置,x , y , x2 , y2 , 范围从 0 - 1,相当于在图形包围盒中的百分比,如果 global 为 true ,则该四个值是绝对的像素位置,90在下述代码中的 0 0 0 1 意味着从上往下进行渐变

 series: [
  {
    type: 'bar',
    data: yDataArr,
    itemStyle: {
     color: {
      type: 'linear',  //渐变类型,,linear线性
      x: 0,  //决定线性渐变的方向
      y: 0,//决定线性渐变的方向
      x2: 0,//决定线性渐变的方向
      y2: 1,//决定线性渐变的方向
      colorStops: [{
       offset: 0, color: 'red' // 0% 处的颜色
     }, {
       offset: 1, color: 'blue' // 100% 处的颜色
     }],
      globalCoord: true
    }
   }
  }
 ] 

echarts中的显示

 

 

 径向渐变

线性渐变的类型为 radial , 他需要配置径向的方向, 通过 x , y , r 即可进行配置,前三个参数分别是圆心 x , y 和半径,取值同线性渐变

 series: [
  {
    type:'bar',
    data:yDataArr,
     itemStyle: {
       color: {
         type: 'radial',
         x: 0.5,
         y: 0.5,
         r: 0.5,
         colorStops: [{
           offset: 0, color: 'red' // 0% 处的颜色
        }, {
           offset: 1, color: 'blue' // 100% 处的颜色
        }],
      globalCoord: false 
      }
    }
  }
]

echarts中的显示

 样式

 直接样式

  • itemStyle:控制某一区域的样式
  • textStyle:图表的标题样式
  • lineStyle:控制线的样式
  • areaStyle:控制区域的样式
  • label:饼图当中文字的样式

 以淘宝这个部分为例

 data: [{
            value: 100,
            name: "淘宝",
            itemStyle: { // 控制淘宝这一区域的样式
              color: 'blue'
            },
            label: {
              color: 'red'
            },
]

echarts中的显示

 

 

 

 高亮样式

 在 emphasis 中包裹原先的 itemStyle等等

data: [{
            value: 100,
            name: "淘宝",
            itemStyle: { // 控制淘宝这一区域的样式
              color: 'blue'
            },
            label: {
              color: 'red'
            },
            emphasis: {
              itemStyle: { //鼠标经过变色
                color: 'orange'
              },
              label: {//鼠标经过变色
                color: 'blue'
              }
            }
          },
]

echarts中的显示

 

 

 自适应

当浏览器的大小发生变化的时候,如果想让图表也能随之适配变化

<script>
    var box = echarts.init(document.getElementById("box"))
    var xDataArr = ['张三', '李四', '王五', '赵六']
    var yDataArr = [70, 90, 60, 80]
    var option = {
      xAxis: {
        type: 'category',
        data: xDataArr
      },
      yAxis: {
        type: 'value'
      },
      series: [
        {
          type: 'bar',
          data: yDataArr,
          markPoint: {
            data: [
              {
                type: 'max', name: '最大值'
              },
              {
                type: 'min', name: '最小值'
              }
            ]
          },
          markLine: {
            data: [
              {
                type: 'average', name: '平均值'
              }
            ]
          },
          label: {
            show: true,
            rotate: 60
          },
          barWidth: '30%'
        }
      ]
    }
    box.setOption(option)
  </script>

echarts中的显示

 

此时浏览器窗口变化的同时也想让图表进行适配变化

1>监听窗口大小变化事件

2>在事件处理函数中调用 ECharts 实例对象的 resize 即可

 window.onresize=function(){
        // console.log(window.onresize)
        //调用echarts实例对象resize方法
        box.resize()
    }

echarts中的显示

 

 此时图表就随之窗口的变化而变化

 这样写也是一样的

window.onresize=box.resize 

这里是函数的引用赋值,当浏览器的窗口发生变化,将会调用resize函数,注意resize后面不可以加“()”

 

上一篇:vue框架导入echarts第一个示例


下一篇:解决echarts不是响应式的问题,并解决移除window.addEventListener问题