首页 > 语言 > JavaScript > 正文

echarts设置图例颜色和地图底色的方法实例

2024-05-06 15:32:15
字体:
来源:转载
供稿:网友

前言

本来想写echarts初始化函数的,但最近因为要写一个地图与柱状图的混合方式,也就是每个省的地图上要有柱状图显示。于是仔细使用了一下地图。

1、地图的一些基本属性就不介绍了,还是那些style

2、地图数据的获取以及Series的加载和其他没有什么大的差异。地图数据都在map.js中,都可以自己看,也可以自己根据格式获取响应的数据。

这里主要想处理的是图例颜色与地图底图颜色怎么设置的问题。

1、图例的颜色代码

refresh: function (newOption) {  if (newOption) {  this.option = newOption || this.option;  this.option.legend = this.reformOption(this.option.legend);  this.legendOption = this.option.legend;  var data = this.legendOption.data || [];  var itemName;  var something;  var color;  var queryTarget;  if (this.legendOption.selected) {   for (var k in this.legendOption.selected) {   this._selectedMap[k] = typeof this._selectedMap[k] != 'undefined' ? this._selectedMap[k] : this.legendOption.selected[k];   }  }  for (var i = 0, dataLength = data.length; i < dataLength; i++) {   itemName = this._getName(data[i]);   if (itemName === '') {   continue;   }   something = this._getSomethingByName(itemName);   if (!something.series) {   this._hasDataMap[itemName] = false;   } else {   this._hasDataMap[itemName] = true;   if (something.data && (something.type === ecConfig.CHART_TYPE_PIE || something.type === ecConfig.CHART_TYPE_FORCE || something.type === ecConfig.CHART_TYPE_FUNNEL)) {    queryTarget = [    something.data,    something.series    ];   } else {    queryTarget = [something.series];   }//可以看到下面这一句commend by danielinbiti,图例颜色先查找series是否设置了itemStyle.normal.color这个属性进行判断,如果没有,则会按照默认的颜色设置取值。如果设置了,就按照设置的颜色取值。现在想设置,肯定需要在series中对应的坐标系中设置颜色。 color = this.getItemStyleColor(this.deepQuery(queryTarget, 'itemStyle.normal.color'), something.seriesIndex, something.dataIndex, something.data); if (color && something.type != ecConfig.CHART_TYPE_K) { this.setColor(itemName, color); } this._selectedMap[itemName] = this._selectedMap[itemName] != null ? this._selectedMap[itemName] : true; } } } this.clear(); this._buildShape(); },

2、于是可能产生了如下一个坐标系设置代码

{    name: 'iphone3',    type: 'map',    mapType: 'china',    selectedMode:'single',    roam: true,    showLegendSymbol:true,    itemStyle:{     normal:{     label:{show:true}     ,areaStyle:{color:'green'} //设置地图背景色的颜色设置     ,color:'rgba(255,0,255,0.8)' //刚才说的图例颜色设置     },     emphasis:{label:{show:true}}    },    data:[     {name: '北京',value: Math.round(Math.random()*1000)},     {name: '天津',value: Math.round(Math.random()*1000)},     {name: '上海',value: Math.round(Math.random()*1000)}         ]    }            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选