第一步,下载echartscnpm install echarts --save-dev第二步,在main.js中全局引入//引入echarts import echarts from \'echar
顺晟科技
2022-09-13 11:23:38
77
第一步,下载echarts
cnpm install echarts --save-dev
第二步,在main.js中全局引入
//引入echarts import echarts from \'echarts\' Vue.prototype.$echarts = echarts
第三步,建立echarts组件
<template>
<div class="echarts">
<div :style="{height:\'400px\',width:\'100%\'}" ref="myEchart"></div>
</div>
</template>
<script>
import echarts from "echarts";
// import \'../../node_modules/echarts/map/js/world.js\'
import \'../../node_modules/echarts/map/js/china.js\' // 引入中国地图数据
export default {
name: "echarts",
props: ["userJson"],
data() {
return {
chart: null
};
},
mounted() {
this.chinaConfigure();
},
beforeDestroy() {
if (!this.chart) {
return;
}
this.chart.dispose();
this.chart = null;
},
methods: {
chinaConfigure() {
console.log(this.userJson)
let myChart = echarts.init(this.$refs.myEchart); //这里是为了获得容器所在位置
window.onresize = myChart.resize;
myChart.setOption({ // 进行相关配置
backgroundColor: "#02AFDB",
tooltip: {}, // 鼠标移到图里面的浮动提示框
dataRange: {
show: false,
min: 0,
max: 1000,
text: [\'High\', \'Low\'],
realtime: true,
calculable: true,
color: [\'orangered\', \'yellow\', \'lightskyblue\']
},
geo: { // 这个是重点配置区
map: \'china\', // 表示中国地图
roam: true,
label: {
normal: {
show: true, // 是否显示对应地名
textStyle: {
color: \'rgba(0,0,0,0.4)\'
}
}
},
itemStyle: {
normal: {
borderColor: \'rgba(0, 0, 0, 0.2)\'
},
emphasis: {
areaColor: null,
shadowOffsetX: 0,
shadowOffsetY: 0,
shadowBlur: 20,
borderWidth: 0,
shadowColor: \'rgba(0, 0, 0, 0.5)\'
}
}
},
series: [{
type: \'scatter\',
coordinateSystem: \'geo\' // 对应上方配置
},
{
name: \'启动次数\', // 浮动框的标题
type: \'map\',
geoIndex: 0,
data: [{
"name": "北京",
"value": 599
}, {
"name": "上海",
"value": 142
}, {
"name": "黑龙江",
"value": 44
}, {
"name": "深圳",
"value": 92
}, {
"name": "湖北",
"value": 810
}, {
"name": "四川",
"value": 453
}]
}
]
})
}
}
}
</script>
效果图如下

如果是世界地图的话
<template>
<div class="echarts">
<div :class="className" :id="id" :style="{height:height,width:width}" ref="myEchart"></div>
<!-- <Title :title="title"></Title>
<Search :placeholder="placeholder" :find="find" @listenSearch="searchItem" @listenAdd="addNew" @listenLeadIng="leadingItem"></Search> -->
<!-- <div id="provinceChart" class="charts" ref="myEchart1" style="height:400px;"></div> -->
</div>
</template>
<script>
import echarts from "echarts";
import \'../../node_modules/echarts/map/js/world.js\'
// import \'../../node_modules/echarts/map/js/china.js\' // 引入中国地图数据
import Title from \'./title\'
import Search from \'./search\'
export default {
name: "echarts",
props: {
className: {
type: String,
default: "yourClassName"
},
id: {
type: String,
default: "yourID"
},
width: {
type: String,
default: "100%"
},
height: {
type: String,
default: "400px"
}
},
data() {
return {
title: "图表",
placeholder: "用户名/电话",
find: "2", //1显示新增按钮,2显示导入按钮,若不显示这两个按钮可以写0或者不写值
chart: null
};
},
components: {
Title,
Search
},
mounted() {
this.initChart();
// this.chinaConfigure();
},
beforeDestroy() {
if (!this.chart) {
return;
}
this.chart.dispose();
this.chart = null;
},
methods: {
chinaConfigure() {
let myChart = echarts.init(this.$refs.myEchart1); //这里是为了获得容器所在位置
myChart.setOption({ // 进行相关配置
backgroundColor: "#02AFDB",
tooltip: {}, // 鼠标移到图里面的浮动提示框
dataRange: {
show: false,
min: 0,
max: 1000000,
text: [\'High\', \'Low\'],
realtime: true,
calculable: true,
color: [\'orangered\', \'yellow\', \'lightskyblue\']
},
geo: { // 这个是重点配置区
map: \'china\', // 表示中国地图
roam: true,
label: {
normal: {
show: true, // 是否显示对应地名
textStyle: {
color: \'rgba(0,0,0,0.4)\'
}
}
},
itemStyle: {
normal: {
borderColor: \'rgba(0, 0, 0, 0.2)\'
},
emphasis: {
areaColor: null,
shadowOffsetX: 0,
shadowOffsetY: 0,
shadowBlur: 20,
borderWidth: 0,
shadowColor: \'rgba(0, 0, 0, 0.5)\'
}
}
},
series: [{
type: \'scatter\',
coordinateSystem: \'geo\' // 对应上方配置
},
{
name: \'启动次数\', // 浮动框的标题
type: \'map\',
geoIndex: 0,
data: [{
name: \'广东\',
value: 1324
}] // 这里就是数据,即数组可以单独放在外面也可以直接写
}
]
})
},
//搜索回调
searchItem(val) {
console.log(val)
},
//新增回调
addNew(val) {
console.log(val)
},
//导入
leadingItem(val) {
console.log(val)
},
initChart() {
this.chart = echarts.init(this.$refs.myEchart);
window.onresize = echarts.init(this.$refs.myEchart).resize;
// 把配置和数据放这里
this.chart.setOption({
backgroundColor: "#02AFDB",
title: {
// text: \'在线设备分布\',
left: \'40%\',
top: \'0px\',
textStyle: {
color: \'#fff\',
opacity: 0.7
}
},
dataRange: {
show: false,
min: 0,
max: 1000000,
text: [\'High\', \'Low\'],
realtime: true,
calculable: true,
color: [\'orangered\', \'yellow\', \'lightskyblue\']
},
tooltip: {
trigger: \'item\'
},
geo: {
map: \'world\',
label: {
emphasis: {
show: false
}
},
roam: false,
silent: true,
itemStyle: {
normal: {
areaColor: \'#37376e\',
borderColor: \'#000\'
},
emphasis: {
areaColor: \'#2a333d\'
}
}
},
series: [{
type: \'map\',
mapType: \'world\',
// zoom: 1.2,
mapLocation: {
y: 100
},
data: [{
name: \'Afghanistan\',
value: 28397.812
},
{
name: \'Angola\',
value: 19549.124
},
{
name: \'Albania\',
value: 3150.143
},
{
name: \'United Arab Emirates\',
value: 8441.537
},
{
name: \'Argentina\',
value: 40374.224
},
{
name: \'Armenia\',
value: 2963.496
},
{
name: \'French Southern and Antarctic Lands\',
value: 268.065
},
{
name: \'Australia\',
value: 22404.488
},
{
name: \'Austria\',
value: 8401.924
},
{
name: \'Azerbaijan\',
value: 9094.718
},
{
name: \'Burundi\',
value: 9232.753
},
{
name: \'Belgium\',
value: 10941.288
},
{
name: \'Benin\',
value: 9509.798
},
{
name: \'Burkina Faso\',
value: 15540.284
},
{
name: \'Bangladesh\',
value: 151125.475
},
{
name: \'Bulgaria\',
value: 7389.175
},
{
name: \'The Bahamas\',
value: 66402.316
},
{
name: \'Bosnia and Herzegovina\',
value: 3845.929
},
{
name: \'Belarus\',
value: 9491.07
},
{
name: \'Belize\',
value: 308.595
},
{
name: \'Bermuda\',
value: 64.951
},
{
name: \'Bolivia\',
value: 716.939
},
{
name: \'Brazil\',
value: 195210.154
},
{
name: \'Brunei\',
value: 27.223
},
{
name: \'Bhutan\',
value: 716.939
},
{
name: \'Botswana\',
value: 1969.341
},
{
name: \'Central African Republic\',
value: 4349.921
},
{
name: \'Canada\',
value: 34126.24
},
{
name: \'Switzerland\',
value: 7830.534
},
{
name: \'Chile\',
value: 17150.76
},
{
name: \'China\',
value: 1359821.465
},
{
name: \'Ivory Coast\',
value: 60508.978
},
{
name: \'Cameroon\',
value: 20624.343
},
{
name: \'Democratic Republic of the Congo\',
value: 62191.161
},
{
name: \'Republic of the Congo\',
value: 3573.024
},
{
name: \'Colombia\',
value: 46444.798
},
{
name: \'Costa Rica\',
value: 4669.685
},
{
name: \'Cuba\',
value: 11281.768
},
{
name: \'Northern Cyprus\',
value: 1.468
},
{
name: \'Cyprus\',
value: 1103.685
},
{
name: \'Czech Republic\',
value: 10553.701
},
{
name: \'Germany\',
value: 83017.404
},
{
name: \'Djibouti\',
value: 834.036
},
{
name: \'Denmark\',
value: 5550.959
},
{
name: \'Dominican Republic\',
value: 10016.797
},
{
name: \'Algeria\',
value: 37062.82
},
{
name: \'Ecuador\',
value: 15001.072
},
{
name: \'Egypt\',
value: 78075.705
},
{
name: \'Eritrea\',
value: 5741.159
},
{
name: \'Spain\',
value: 46182.038
},
{
name: \'Estonia\',
value: 1298.533
},
{
name: \'Ethiopia\',
value: 87095.281
},
{
name: \'Finland\',
value: 5367.693
},
{
name: \'Fiji\',
value: 860.559
},
{
name: \'Falkland Islands\',
value: 49.581
},
{
name: \'France\',
value: 63230.866
},
{
name: \'Gabon\',
value: 1556.222
},
{
name: \'United Kingdom\',
value: 62066.35
},
{
name: \'Georgia\',
value: 4388.674
},
{
name: \'Ghana\',
value: 24262.901
},
{
name: \'Guinea\',
value: 10876.033
},
{
name: \'Gambia\',
value: 1680.64
},
{
name: \'Guinea Bissau\',
value: 10876.033
},
{
name: \'Equatorial Guinea\',
value: 696.167
},
{
name: \'Greece\',
value: 11109.999
},
{
name: \'Greenland\',
value: 56.546
},
{
name: \'Guatemala\',
value: 14341.576
},
{
name: \'French Guiana\',
value: 231.169
},
{
name: \'Guyana\',
value: 786.126
},
{
name: \'Honduras\',
value: 7621.204
},
{
name: \'Croatia\',
value: 4338.027
},
{
name: \'Haiti\',
value: 9896.4
},
{
name: \'Hungary\',
value: 10014.633
},
{
name: \'Indonesia\',
value: 240676.485
},
{
name: \'India\',
value: 12054.648
},
{
name: \'Ireland\',
value: 4467.561
},
{
name: \'Iran\',
value: 240676.485
},
{
name: \'Iraq\',
value: 30962.38
},
{
name: \'Iceland\',
value: 318.042
},
{
name: \'Israel\',
value: 7420.368
},
{
name: \'Italy\',
value: 60508.978
},
{
name: \'Jamaica\',
value: 2741.485
},
{
name: \'Jordan\',
value: 6454.554
},
{
name: \'Japan\',
value: 127352.833
},
{
name: \'Kazakhstan\',
value: 15921.127
},
{
name: \'Kenya\',
value: 40909.194
},
{
name: \'Kyrgyzstan\',
value: 5334.223
},
{
name: \'Cambodia\',
value: 14364.931
},
{
name: \'South Korea\',
value: 51452.352
},
{
name: \'Kosovo\',
value: 97.743
},
{
name: \'Kuwait\',
value: 2991.58
},
{
name: \'Laos\',
value: 6395.713
},
{
name: \'Lebanon\',
value: 4341.092
},
{
name: \'Liberia\',
value: 3957.99
},
{
name: \'Libya\',
value: 6040.612
},
{
name: \'Sri Lanka\',
value: 20758.779
},
{
name: \'Lesotho\',
value: 2008.921
},
{
name: \'Lithuania\',
value: 3068.457
},
{
name: \'Luxembourg\',
value: 507.885
},
{
name: \'Latvia\',
value: 2090.519
},
{
name: \'Morocco\',
value: 31642.36
},
{
name: \'Moldova\',
value: 103.619
},
{
name: \'Madagascar\',
value: 21079.532
},
{
name: \'Mexico\',
value: 117886.404
},
{
name: \'Macedonia\',
value: 507.885
},
{
name: \'Mali\',
value: 13985.961
},
{
name: \'Myanmar\',
value: 51931.231
},
{
name: \'Montenegro\',
value: 620.078
},
{
name: \'Mongolia\',
value: 2712.738
},
{
name: \'Mozambique\',
value: 23967.265
},
{
name: \'Mauritania\',
value: 3609.42
},
{
name: \'Malawi\',
value: 15013.694
},
{
name: \'Malaysia\',
value: 28275.835
},
{
name: \'Namibia\',
value: 2178.967
},
{
name: \'New Caledonia\',
value: 246.379
},
{
name: \'Niger\',
value: 15893.746
},
{
name: \'Nigeria\',
value: 159707.78
},
{
name: \'Nicaragua\',
value: 5822.209
},
{
name: \'Netherlands\',
value: 16615.243
},
{
name: \'Norway\',
value: 4891.251
},
{
name: \'Nepal\',
value: 26846.016
},
{
name: \'New Zealand\',
value: 4368.136
},
{
name: \'Oman\',
value: 2802.768
},
{
name: \'Pakistan\',
value: 173149.306
},
{
name: \'Panama\',
value: 3678.128
},
{
name: \'Peru\',
value: 29262.83
},
{
name: \'Philippines\',
value: 93444.322
},
{
name: \'Papua New Guinea\',
value: 6858.945
},
{
name: \'Poland\',
value: 38198.754
},
{
name: \'Puerto Rico\',
value: 3709.671
},
{
name: \'North Korea\',
value: 1.468
},
{
name: \'Portugal\',
value: 10589.792
},
{
name: \'Paraguay\',
value: 6459.721
},
{
name: \'Qatar\',
value: 1749.713
},
{
name: \'Romania\',
value: 21861.476
},
{
name: \'Russia\',
value: 21861.476
},
{
name: \'Rwanda\',
value: 10836.732
},
{
name: \'Western Sahara\',
value: 514.648
},
{
name: \'Saudi Arabia\',
value: 27258.387
},
{
name: \'Sudan\',
value: 35652.002
},
{
name: \'South Sudan\',
value: 9940.929
},
{
name: \'Senegal\',
value: 12950.564
},
{
name: \'Solomon Islands\',
value: 526.447
},
{
name: \'Sierra Leone\',
value: 5751.976
},
{
name: \'El Salvador\',
value: 6218.195
},
{
name: \'Somaliland\',
value: 9636.173
},
{
name: \'Somalia\',
value: 9636.173
},
{
name: \'Republic of Serbia\',
value: 3573.024
},
{
name: \'Suriname\',
value: 524.96
},
{
name: \'Slovakia\',
value: 5433.437
},
{
name: \'Slovenia\',
value: 2054.232
},
{
name: \'Sweden\',
value: 9382.297
},
{
name: \'Swaziland\',
value: 1193.148
},
{
name: \'Syria\',
value: 7830.534
},
{
name: \'Chad\',
value: 11720.781
},
{
name: \'Togo\',
value: 6306.014
},
{
name: \'Thailand\',
value: 66402.316
},
{
name: \'Tajikistan\',
value: 7627.326
},
{
name: \'Turkmenistan\',
value: 5041.995
},
{
name: \'East Timor\',
value: 10016.797
},
{
name: \'Trinidad and Tobago\',
value: 1328.095
},
{
name: \'Tunisia\',
value: 10631.83
},
{
name: \'Turkey\',
value: 72137.546
},
{
name: \'United Republic of Tanzania\',
value: 44973.33
},
{
name: \'Uganda\',
value: 33987.213
},
{
name: \'Ukraine\',
value: 46050.22
},
{
name: \'Uruguay\',
value: 3371.982
},
{
name: \'United States of America\',
value: 312247.116
},
{
name: \'Uzbekistan\',
value: 27769.27
},
{
name: \'Venezuela\',
value: 236.299
},
{
name: \'Vietnam\',
value: 89047.397
},
{
name: \'Vanuatu\',
value: 236.299
},
{
name: \'West Bank\',
value: 13.565
},
{
name: \'Yemen\',
value: 22763.008
},
{
name: \'South Africa\',
value: 51452.352
},
{
name: \'Zambia\',
value: 13216.985
},
{
name: \'Zimbabwe\',
value: 13076.978
}
],
symbolSize: 12,
label: {
normal: {
show: false
},
emphasis: {
show: false
}
},
itemStyle: {
emphasis: {
borderColor: \'#fff\',
borderWidth: 1
}
}
}],
});
}
}
}
</script>
效果如下

注意:只需要将请求来的json放在 series中的data即可
就这........
13
2022-09
13
2022-09
16
2019-08