echarts实用小解

2021-03-31  本文已影响0人  小石头糖糖

1、主题样式

例如引入walden, 使用只需在初始化中加入:
const chart=echarts.init (document.getElementById('chart1','walden') );

2、异步请求数据

fetch('./data.json')
.then( res => res.json() ) //将数据解析成json
.then( data => {
  option.dataset.source = data;
  chart.setOption( option );  
})

3、设置行列映射

series:{
  encode:{
    x:1,
    y:0  
  }
}

4、饼图绘制

series:{
    type: pie,
    center: ['50%', '60%'], //圆心位
    roseType: 'radius', //玫瑰图突显差异    
    radius:['40%','70%'], //给一个圆环(内、外值)
},
dataset: {datasource}, //数据源
//鼠标放上去显示效果设置:
tooltip:{
  formatter: '{d}%' ,//a:系列名; b:数值项名; c:数值; d:百分比
  // 回调函数写法:
  formatter(param)=>{ //param为实际数据  },
  //formatter解构, 如格式化百分比:
  formatter({percent})=>{
     return Math.round(percent)+'%';
  }
}

5、散点图

series:{
  type:'scatter',
  symbolSize: 3, //散点大小
  itemStyle:{ //散点密集度
    opacity: .5,
  }
}

6、雷达图

更有效的将两组以上数据差异对比显示

//option配置外定义
const indicator=[
  //添加min、max可以避免数据与边界太紧密
  {name: '数据项一' , min: 0 , max: **},  // max取值要大于data中最大值
  {name: '数据项二' , min: 0 , max: **}, 
  {name: '数据项三' , min: 0 , max: **}
];
//option内的配置:
radar:{
  indicator //指示器
},
series:{
  type:'radar',
  data //数据源
}

7、柱状图

grid:{ //绘图区
 top:72,
 bottom:28,
},
xAxis:{ type: 'category' }, //类目轴
yAxis:{ type: 'value' }, //数值轴 
series:[
 {
   id: 'id1', 
   type: 'bar',
 },
//...重复对象
]

//自定义背景图: 在option配置外 对图像源处理

 const img1 = new Image();
 img1.src=' ./images/data1.jpg';
//...重复图片
//当所有图片都加载成功后绘图:
Promise.all ([imgPro(img1), ...]).then( ()=>{
  chart.setOption({
    series:[
      { id : 'id1', // id与option中series相对应 
        color: { image: img1 }
      },
      //...重复项
    ]
  })
} );
//建立promise对象, 指定img加载成功后, 执行resolve
function imgPro(img){
  return new Promise((resolve)=>{
    img.onLoad=function(){
      resolve(img);
    }
  })
}

8、图例配置

legend:{
  data:['图例一',‘图例二’],
  left:'left',
  top:30, //数值方向均可
  orient: 'vertical', //默认横向改为纵向排列
}

antV-g2可视化图形语法, 封装优化了echarts

上一篇下一篇

猜你喜欢

热点阅读