HighCharts使用——Vue整合HighChartsMap
背景
- 系统需要展示一张世界地图
关键条件
- 下载highchartsMap依赖包
npm i @highcharts/map-collection -S
- 导入地图依赖
/** * 世界地图数据 */ import worldMap from '@highcharts/map-collection/custom/world.geo.json';
/** * 关联图表 */ HighchartsMore(Highcharts); HighchartsDrilldown(Highcharts); Highcharts3D(Highcharts); HighchartsMap(Highcharts);
- 建立地图数据
xAxis: {}, yAxis: { title: { text: '' } }, plotOptions: { spline: { lineWidth: 1, states: { hover: { lineWidth: 3 } }, marker: { enabled: false } } }, legend: { enabled: false, layout: 'vertical', align: 'right', verticalAlign: 'middle' }, //格式化展示数据 tooltip: { }, series: [ { name: '国家', states: { hover: { color: '#BADA55' } }, dataLabels: { enabled: false, format: '{point.name}' }, allAreas: true, mapData: worldMap, // 此处填写我们要渲染的数据,如果不填写,只有世界地图,没有悬浮颜色变化信息 data: [] } ] } }; },
- 初始化地图数据
var obj = { 'hc-key': key, value: Math.floor(Math.random() * 100 + 1), // 生成 1 ~ 100 随机值 color: '#7FFFD4', //实现地图下钻必须属性 drilldown: key, //自定义数据,可在tooltip获取格式化展示 self1: '自定义', self2: '自定义' }; data.push(obj); }); debugger; this.mapOptions.series[0].data = data; }
完整Vue代码(可显示地图)
<highcharts
:constructor-type="'mapChart'"
class="chart-box"
:options="mapOptions"
ref="chart"
:style="this.chartsStyle"
>
显示地图