4.15

130 阅读1分钟

饼状图

mounted(){

var myChart = echarts.init(this.$refs.main);

this.lineList = JSON.parse(JSON.stringify(this.reportsList));

/* 设置标题 */

this.lineList.title={ text:'华东数据饼图' };

/* 展示触摸提示 */

this.lineList.tooltip={ /* a表示系列名
表示换行 b表示数据名 c表示数值 b表示所占的百分比*/ formatter: '{a}
{b} : {c} ({d}%)>' }

    /* 设置图例距离 */
  this.lineList.legend.top = '8%';
  this.lineList.legend.left = '0';
 /* 只显示华东的饼图数据 */
this.lineList.series.splice(1)
/* 先把图表的类型都改成饼图 */
this.lineList.series[0].type="pie";
/* 把图例中除了华东的图例都删掉,只是为了去掉提示,可以不删除 */
this.lineList.legend.data.splice(1)
/* 拿到时间集合,用来展示饼图的name值 */
let nameList=this.lineList.xAxis[0].data;
/* 拿到数据,用来展示饼图的value值 */
let valueList=this.lineList.series[0].data;

/* let data=[{
  name:"2017-12-27",
  value:2999
}] */
let newArr = [];
/* 下面的操作是为了把两个数组整合上面的格式 */
nameList.forEach((r,i)=>{
 let obj = {
   name:r,
   /* 因为两个数组的长度是一样的,
   索引对应的值也是预约的,key
   和 value 的值是相对应,所以直接使用如下方式取值*/
   value:valueList[i]
 }
 /* 把组装好的队形塞到新数组中 */
  newArr.push(obj)
 
})
/* 给华东的数据组转好格式后重新赋值,为了展示饼图线对应的名字 */
console.log(newArr);
this.lineList.series[0].data=newArr

/* 设置饼图的中心的圆心的大小和圆的大小 */
this.lineList.series[0].radius=['30','60'];
/* 设置元的上下左右的距离 */
/* this.lineList.series[0].center=['60','60'] */
/* 把图的形状设置成玫瑰型 */
this.lineList.series[0].roseType='area';
/* 给圆设置圆角 */
this.lineList.series[0].itemStyle={
  borderRadius:5
}

/* 把x轴隐藏 */
this.lineList.xAxis={
  show:false
}
 /* 把y轴隐藏 */
this.lineList.yAxis={
  show:false
}

/* 这一段是让第一个变成折线图 */
// this.lineList.series[0].type='line'

myChart.setOption(this.lineList);
window.PieChart= myChart

}, }