Files
Beidou-Web/js/dataAll.js
2024-04-11 16:20:00 +08:00

1772 lines
42 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
window.onload = function () {
// 柱状图 左1
(function getEcharts3DBar() {
// 调用
let serveTBar = echarts.init(document.getElementById('jczy_bar'));
//serveTBar.setOption(getEcharts3DBar());
let arr = diverseForMonth('2017', 'silverMarin') // arr获取拆分后的WaiMao文件的数据
console.log(arr) //f12查看详细数据
// 模板效果
let colorArr = ["#f60018", "#b92e3b", "#a0000f"];//柱子三面的颜色 左侧、右侧、顶部
let color = {
type: "linear",
x: 0,
x2: 1,
y: 0,
y2: 0,
colorStops: [
{
offset: 0,
color: colorArr[0],
},
{
offset: 0.5,
color: colorArr[0],
},
{
offset: 0.5,
color: colorArr[1],
},
{
offset: 1,
color: colorArr[1],
},
],
};
let colorArr2 = ["#EE7700", "#FFAA33", "#EE7700"];//柱子三面的颜色 左侧、右侧、顶部
let color2 = {
type: "linear",
x: 0,
x2: 1,
y: 0,
y2: 0,
colorStops: [
{
offset: 0,
color: colorArr2[0],
},
{
offset: 0.5,
color: colorArr2[0],
},
{
offset: 0.5,
color: colorArr2[1],
},
{
offset: 1,
color: colorArr2[1],
},
],
};
let colorArr3 = ["#a65600", "#663300", "#663300"];//柱子三面的颜色 左侧、右侧、顶部
let color3 = {
type: "linear",
x: 0,
x2: 1,
y: 0,
y2: 0,
colorStops: [
{
offset: 0,
color: colorArr3[0],
},
{
offset: 0.5,
color: colorArr3[0],
},
{
offset: 0.5,
color: colorArr3[1],
},
{
offset: 1,
color: colorArr3[1],
},
],
};
let barWidth = 10;
let option = {
tooltip: {
trigger: 'axis',
formatter: function (params) {
let str = params[0].name + ":";
params.filter(function (item) {
if (item.componentSubType == "bar") {
str += "<br/>" + item.seriesName + ":" + item.value;
}
});
return str;
},
},
grid: {
x: '7%',
x2: '7%',
y: '15%',
y2: '15%',
},
legend: {
show: false,
data: ['一带一路贸易额指数', '“一带一路”集装箱海运量指数', '海上丝绸之路运价指数'],
textStyle: {
color: '#fff',
fontSize: '20'
}
},
xAxis: {
data: arr[0],
//坐标轴
axisLine: {
show: true,
lineStyle: {
width: 1,
color: '#214776'
},
textStyle: {
color: '#fff',
fontSize: '10'
}
},
type: 'category',
axisLabel: {
textStyle: {
color: '#3C34FF',
fontWeight: 500,
fontSize: '14'
}
},
axisTick: {
textStyle: {
color: '#fff',
fontSize: '16'
},
show: false,
},
splitLine: { show: false }
},
yAxis: {
type: 'value',
//坐标轴
axisLine: {
show: true,
lineStyle: {
width: 1,
color: '#fff'
},
textStyle: {
color: '#fff',
fontSize: '10'
}
},
axisTick: {
show: false
},
//坐标值标注
axisLabel: {
show: true,
textStyle: {
color: '#3C34FF',
}
},
//分格线
splitLine: {
lineStyle: {
color: '#13365f'
}
}
},
series: [
{
z: 1,
name: '一带一路贸易额指数',
type: "bar",
barWidth: barWidth,
barGap: "0%",
data: arr[1],
itemStyle: {
normal: {
color: color
},
},
},
{
z: 2,
name: '一带一路贸易额指数',
type: "pictorialBar",
data: arr[1],
symbol: "diamond",
symbolOffset: ["-75%", "50%"],
symbolSize: [barWidth, 10],
itemStyle: {
normal: {
color: color
},
},
tooltip: {
show: false,
},
},
{
z: 3,
name: '一带一路贸易额指数',
type: "pictorialBar",
symbolPosition: "end",
data: arr[1],
symbol: "diamond",
symbolOffset: ["-75%", "-50%"],
symbolSize: [barWidth - 4, (10 * (barWidth - 4)) / barWidth],
itemStyle: {
normal: {
borderWidth: 2,
color: colorArr[2]
},
},
tooltip: {
show: false,
},
},
{
z: 1,
name: '“一带一路”集装箱海运量指数',
type: "bar",
barWidth: barWidth,
barGap: "50%",
data: arr[2],
itemStyle: {
normal: {
color: color2
},
},
},
{
z: 2,
name: '“一带一路”集装箱海运量指数',
type: "pictorialBar",
data: arr[2],
symbol: "diamond",
symbolOffset: ["75%", "50%"],
symbolSize: [barWidth, 10],
itemStyle: {
normal: {
color: color2
},
},
tooltip: {
show: false,
},
},
{
z: 3,
name: '“一带一路”集装箱海运量指数',
type: "pictorialBar",
symbolPosition: "end",
data: arr[2],
symbol: "diamond",
symbolOffset: ["75%", "-50%"],
symbolSize: [barWidth - 4, (10 * (barWidth - 4)) / barWidth],
itemStyle: {
normal: {
borderWidth: 2,
color: colorArr2[2]
},
},
tooltip: {
show: false,
},
},
{
z: 1,
name: '海上丝绸之路运价指数',
type: "bar",
barWidth: barWidth,
barGap: "50%",
data: arr[3],
itemStyle: {
normal: {
color: color3
},
},
},
{
z: 2,
name: '海上丝绸之路运价指数',
type: "pictorialBar",
data: arr[3],
symbol: "diamond",
symbolOffset: ["75%", "50%"],
symbolSize: [barWidth, 10],
itemStyle: {
normal: {
color: color3
},
},
tooltip: {
show: false,
},
},
{
z: 3,
name: '海上丝绸之路运价指数',
type: "pictorialBar",
symbolPosition: "end",
data: arr[3],
symbol: "diamond",
symbolOffset: ["75%", "-50%"],
symbolSize: [barWidth - 4, (10 * (barWidth - 4)) / barWidth],
itemStyle: {
normal: {
borderWidth: 2,
color: colorArr3[2]
},
},
tooltip: {
show: false,
},
},
],
};
serveTBar.setOption(option);
window.addEventListener("resize", function () {
serveTBar.resize();
});
console.log("OK!")
// 真实效果
$(".year5-link").on("click", function () {
//let value = document.getElementById("year-link").getAttribute("value")
let value = $(this).val()
console.log("link Succeed!");
console.log(value);
arr = diverseForMonth(value, 'silverMarin')
let colorArr = ["#f60018", "#b92e3b", "#a0000f"];//柱子三面的颜色 左侧、右侧、顶部
let color = {
type: "linear",
x: 0,
x2: 1,
y: 0,
y2: 0,
colorStops: [
{
offset: 0,
color: colorArr[0],
},
{
offset: 0.5,
color: colorArr[0],
},
{
offset: 0.5,
color: colorArr[1],
},
{
offset: 1,
color: colorArr[1],
},
],
};
let colorArr2 = ["#EE7700", "#FFAA33", "#EE7700"];//柱子三面的颜色 左侧、右侧、顶部
let color2 = {
type: "linear",
x: 0,
x2: 1,
y: 0,
y2: 0,
colorStops: [
{
offset: 0,
color: colorArr2[0],
},
{
offset: 0.5,
color: colorArr2[0],
},
{
offset: 0.5,
color: colorArr2[1],
},
{
offset: 1,
color: colorArr2[1],
},
],
};
let colorArr3 = ["#a65600", "#663300", "#663300"];//柱子三面的颜色 左侧、右侧、顶部
let color3 = {
type: "linear",
x: 0,
x2: 1,
y: 0,
y2: 0,
colorStops: [
{
offset: 0,
color: colorArr3[0],
},
{
offset: 0.5,
color: colorArr3[0],
},
{
offset: 0.5,
color: colorArr3[1],
},
{
offset: 1,
color: colorArr3[1],
},
],
};
let barWidth = 8;
let option = {
tooltip: {
trigger: 'axis',
formatter: function (params) {
let str = params[0].name + ":";
params.filter(function (item) {
if (item.componentSubType == "bar") {
str += "<br/>" + item.seriesName + ":" + item.value;
}
});
return str;
},
},
grid: {
x: '7%',
x2: '0%',
y: '15%',
y2: '15%',
},
legend: {
show: false,
data: ['一带一路贸易额指数', '“一带一路”集装箱海运量指数', '海上丝绸之路运价指数'],
textStyle: {
color: '#fff',
fontSize: '20'
}
},
xAxis: {
data: arr[0],
//坐标轴
axisLine: {
show: true,
lineStyle: {
width: 1,
color: '#214776'
},
textStyle: {
color: '#fff',
fontSize: '10'
}
},
type: 'category',
axisLabel: {
textStyle: {
color: '#3C34FF',
fontWeight: 500,
fontSize: '14'
}
},
axisTick: {
textStyle: {
color: '#fff',
fontSize: '16'
},
show: false,
},
splitLine: { show: false }
},
yAxis: {
type: 'value',
//坐标轴
axisLine: {
show: true,
lineStyle: {
width: 1,
color: '#214776'
},
textStyle: {
color: '#fff',
fontSize: '10'
}
},
axisTick: {
show: false
},
//坐标值标注
axisLabel: {
show: true,
textStyle: {
color: '#3C34FF',
}
},
//分格线
splitLine: {
lineStyle: {
color: '#13365f'
}
}
},
series: [
//
{
z: 1,
name: '一带一路贸易额指数',
type: "bar",
barWidth: barWidth,
barGap: "0%",
data: arr[1],
itemStyle: {
normal: {
color: color
},
},
},
{
z: 2,
name: '一带一路贸易额指数',
type: "pictorialBar",
data: arr[1],
symbol: "diamond",
symbolOffset: ["-75%", "50%"],
symbolSize: [barWidth, 10],
itemStyle: {
normal: {
color: color
},
},
tooltip: {
show: false,
},
},
{
z: 3,
name: '一带一路贸易额指数',
type: "pictorialBar",
symbolPosition: "end",
data: arr[1],
symbol: "diamond",
symbolOffset: ["-75%", "-50%"],
symbolSize: [barWidth - 4, (10 * (barWidth - 4)) / barWidth],
itemStyle: {
normal: {
borderWidth: 2,
color: colorArr[2]
},
},
tooltip: {
show: false,
},
},
{
z: 1,
name: '“一带一路”集装箱海运量指数',
type: "bar",
barWidth: barWidth,
barGap: "50%",
data: arr[2],
itemStyle: {
normal: {
color: color2
},
},
},
{
z: 2,
name: '“一带一路”集装箱海运量指数',
type: "pictorialBar",
data: arr[2],
symbol: "diamond",
symbolOffset: ["75%", "50%"],
symbolSize: [barWidth, 10],
itemStyle: {
normal: {
color: color2
},
},
tooltip: {
show: false,
},
},
{
z: 3,
name: '“一带一路”集装箱海运量指数',
type: "pictorialBar",
symbolPosition: "end",
data: arr[2],
symbol: "diamond",
symbolOffset: ["75%", "-50%"],
symbolSize: [barWidth - 4, (10 * (barWidth - 4)) / barWidth],
itemStyle: {
normal: {
borderWidth: 2,
color: colorArr2[2]
},
},
tooltip: {
show: false,
},
},
{
z: 1,
name: '海上丝绸之路运价指数',
type: "bar",
barWidth: barWidth,
barGap: "50%",
data: arr[3],
itemStyle: {
normal: {
color: color3
},
},
},
{
z: 2,
name: '海上丝绸之路运价指数',
type: "pictorialBar",
data: arr[3],
symbol: "diamond",
symbolOffset: ["75%", "50%"],
symbolSize: [barWidth, 10],
itemStyle: {
normal: {
color: color3
},
},
tooltip: {
show: false,
},
},
{
z: 3,
name: '海上丝绸之路运价指数',
type: "pictorialBar",
symbolPosition: "end",
data: arr[3],
symbol: "diamond",
symbolOffset: ["75%", "-50%"],
symbolSize: [barWidth - 4, (10 * (barWidth - 4)) / barWidth],
itemStyle: {
normal: {
borderWidth: 2,
color: colorArr3[2]
},
},
tooltip: {
show: false,
},
},
],
};
serveTBar.setOption(option);
});
})();
// 折线图 左2
(function () {
// 1. 实例化对象
let myChart = echarts.init(document.querySelector(".line .chart"));
let arr = diverseForMonth('2014', 'ExportnInport') // arr获取拆分后的Exln文件的数据
console.log(arr) //f12查看详细数据
// 2.指定配置
let option = {
color: ["#57A8FF", "#E69119", "#FA0C1D"],
tooltip: {
trigger: "axis"
},
legend: {
// 如果series 对象有name 值,则 legend可以不用写data
// 修改图例组件 文字颜色
textStyle: {
color: "#4c9bfd"
},
// 这个10% 必须加引号
right: "10%"
},
grid: {
top: "20%",
left: "3%",
right: "4%",
bottom: "3%",
show: true, // 显示边框
borderColor: "#012f4a", // 边框颜色
containLabel: true // 包含刻度文字在内
},
// 柱状图与折线图切换
toolbox: {
show: true,
feature: {
/* line是折线图bar是柱形图*/
magicType: { show: true, type: ['line', 'bar'] },
}
},
xAxis: {
type: "category",
boundaryGap: false,
data: arr[0],
axisTick: {
show: false // 去除刻度线
},
axisLabel: {
color: "#3C34FF" // 文本颜色
},
axisLine: {
show: false // 去除轴线
}
},
yAxis: {
type: "value",
axisTick: {
show: false // 去除刻度线
},
axisLabel: {
color: "#3C34FF" // 文本颜色
},
axisLine: {
show: false // 去除轴线
},
splitLine: {
lineStyle: {
color: "#012f4a" // 分割线颜色
}
}
},
series: [
{
name: "进出口贸易指数",
type: "line",
// true 可以让我们的折线显示带有弧度
smooth: true,
data: arr[1]
},
{
name: "出口贸易指数",
type: "line",
// true 可以让我们的折线显示带有弧度
smooth: true,
data: arr[2]
},
{
name: "进口贸易指数",
type: "line",
// true 可以让我们的折线显示带有弧度
smooth: true,
data: arr[3]
},
]
};
// 3. 把配置给实例对象
myChart.setOption(option);
// 4. 让图表跟随屏幕自动的去适应
window.addEventListener("resize", function () {
myChart.resize();
});
console.log("OK!")
// 5.点击切换效果
$(".year2-link").on("click", function () {
//let value = document.getElementById("year-link").getAttribute("value")
let value = $(this).val()
console.log("link Succeed!");
console.log(value);
arr = diverseForMonth(value, 'ExportnInport')
// 点击 a 之后 根据当前a的索引号 找到对应的 yearData的相关对象
let option = {
color: ["#57A8FF", "#E69119", "#FA0C1D"],
tooltip: {
trigger: "axis"
},
legend: {
// 如果series 对象有name 值,则 legend可以不用写data
// 修改图例组件 文字颜色
textStyle: {
color: "#4c9bfd"
},
// 这个10% 必须加引号
right: "10%"
},
grid: {
top: "20%",
left: "3%",
right: "4%",
bottom: "3%",
show: true, // 显示边框
borderColor: "#012f4a", // 边框颜色
containLabel: true // 包含刻度文字在内
},
// 柱状图与折线图切换
toolbox: {
show: true,
feature: {
/* line是折线图bar是柱形图*/
magicType: { show: true, type: ['line', 'bar'] },
}
},
xAxis: {
type: "category",
boundaryGap: false,
data: arr[0],
axisTick: {
show: false // 去除刻度线
},
axisLabel: {
color: "#3C34FF" // 文本颜色
},
axisLine: {
show: false // 去除轴线
}
},
yAxis: {
type: "value",
axisTick: {
show: false // 去除刻度线
},
axisLabel: {
color: "#3C34FF" // 文本颜色
},
axisLine: {
show: false // 去除轴线
},
splitLine: {
lineStyle: {
color: "#012f4a" // 分割线颜色
}
}
},
series: [
{
name: "进出口贸易指数",
type: "line",
// true 可以让我们的折线显示带有弧度
smooth: true,
data: arr[1]
},
{
name: "出口贸易指数",
type: "line",
// true 可以让我们的折线显示带有弧度
smooth: true,
data: arr[2]
},
{
name: "进口贸易指数",
type: "line",
// true 可以让我们的折线显示带有弧度
smooth: true,
data: arr[3]
},
]
};
myChart.setOption(option);
});
})();
// 柱状图 左3
(function () {
// 1实例化对象
let myChart = echarts.init(document.querySelector(".bar2 .chart "));
let arr = diverseForMonth('2014', 'WaiMao'); // arr获取拆分后的WaiMao文件的数据
console.log(arr) //f12查看详细数据
// 2. 指定配置项和数据
let option = {
color: ["#FFBF3E", "#6687E6", "#8f1d19", "#EB7060"],
tooltip: {
trigger: "axis",
axisPointer: {
// 坐标轴指示器,坐标轴触发有效
type: "shadow" // 默认为直线,可选为:'line' | 'shadow'
}
},
grid: {
left: "0%",
top: "10px",
right: "0%",
bottom: "4%",
containLabel: true
},
// 柱状图与折线图切换
toolbox: {
show: true,
feature: {
/* line是折线图bar是柱形图*/
magicType: { show: true, type: ['line', 'bar'] },
}
},
xAxis: [{
type: "category",
data: arr[0],
axisTick: {
alignWithLabel: true
},
// 修改刻度标签 相关样式
axisLabel: {
color: "#3C34FF ",
fontSize: "8",
// rotate: -90,
},
// x坐标轴的样式
axisLine: {
lineStyle: {
color: "grey",
width: 2
}
}
}],
yAxis: [{
type: "value",
// 修改刻度标签 相关样式
axisLabel: {
color: "#3C34FF ",
fontSize: 12
},
// y轴的线条改为了 2像素
axisLine: {
lineStyle: {
color: "grey",
width: 2
}
},
// y轴分割线的颜色
splitLine: {
lineStyle: {
color: "rgba(255,255,255,.1)"
}
}
}],
series: [{
name: "外贸出口先导指数",
type: "bar",
barWidth: "20%",
data: arr[1],
itemStyle: {
// 修改柱子圆角
barBorderRadius: 5
},
},
{
name: "出口经理人指数",
type: "bar",
barWidth: "20%",
data: arr[2],
itemStyle: {
// 修改柱子圆角
barBorderRadius: 5
},
},
{
name: "新增出口订单指数",
type: "bar",
barWidth: "20%",
data: arr[3],
itemStyle: {
// 修改柱子圆角
barBorderRadius: 5
},
},
{
name: "出口企业综合成本指数",
type: "bar",
barWidth: "20%",
data: arr[4],
itemStyle: {
// 修改柱子圆角
barBorderRadius: 5
},
}
]
};
console.log("setStart");
// 3. 把配置项给实例对象
myChart.setOption(option);
// 4. 让图表跟随屏幕自动的去适应
console.log("setCompleted");
window.addEventListener("resize", function () {
myChart.resize();
});
// 5.点击切换效果
$(".year1-link").on("click", function () {
//let value = document.getElementById("year-link").getAttribute("value")
let value = $(this).val()
console.log("link Succeed!");
console.log(value);
arr = diverseForMonth(value, 'Waimao');
// 点击 a 之后 根据当前a的索引号 找到对应的 yearData的相关对象
let option = {
color: ["#1089E7", "#F57474", "#56D0E3", "#F8B448"],
tooltip: {
trigger: "axis",
axisPointer: {
// 坐标轴指示器,坐标轴触发有效
type: "shadow" // 默认为直线,可选为:'line' | 'shadow'
}
},
// 修改图表的大小
grid: {
left: "0%",
top: "10px",
right: "0%",
bottom: "4%",
containLabel: true
},
// 柱状图与折线图切换
toolbox: {
show: true,
feature: {
/* line是折线图bar是柱形图*/
magicType: { show: true, type: ['line', 'bar'] },
}
},
xAxis: [{
type: "category",
data: arr[0],
axisTick: {
alignWithLabel: true
},
// 修改刻度标签 相关样式
axisLabel: {
color: "#3C34FF ",
fontSize: "8",
// rotate: -90,
},
// x坐标轴的样式
axisLine: {
lineStyle: {
color: "grey",
width: 2
}
}
}],
yAxis: [{
type: "value",
// 修改刻度标签 相关样式
axisLabel: {
color: "#3C34FF ",
fontSize: 12
},
// y轴的线条改为了 2像素
axisLine: {
lineStyle: {
color: "grey",
width: 2
}
},
// y轴分割线的颜色
splitLine: {
lineStyle: {
color: "rgba(255,255,255,.1)"
}
}
}],
series: [{
name: "外贸出口先导指数",
type: "bar",
barWidth: "20%",
data: arr[1],
itemStyle: {
// 修改柱子圆角
barBorderRadius: 5
},
},
{
name: "出口经理人指数",
type: "bar",
barWidth: "20%",
data: arr[2],
itemStyle: {
// 修改柱子圆角
barBorderRadius: 5
},
},
{
name: "新增出口订单指数",
type: "bar",
barWidth: "20%",
data: arr[3],
itemStyle: {
// 修改柱子圆角
barBorderRadius: 5
},
},
{
name: "出口企业综合成本指数",
type: "bar",
barWidth: "20%",
data: arr[4],
itemStyle: {
// 修改柱子圆角
barBorderRadius: 5
},
},
]
};
myChart.setOption(option);
});
})();
// 饼形图1 右1
(function () {
// 1. 实例化对象
let myChart = echarts.init(document.querySelector(".pie .chart"));
let arr = dijson('shouru') // arr获取拆分后的WaiMao文件的数据
console.log(arr) //f12查看详细数据
// 2.指定配置
let option = {
color: ["#FFB861", "#AF71E5", "#6FBCFA", "#EA726C",],
tooltip: {
trigger: "item",
formatter: "{a} <br/>{b}: {c} ({d}%)"
},
legend: {
bottom: "0%",
// 修改小图标的大小
itemWidth: 10,
itemHeight: 10,
// 修改图例组件的文字为 12px
textStyle: {
color: "#3C34FF",
fontSize: "8"
}
},
series: [{
name: "国民总收入(亿元):",
type: "pie",
// 这个radius可以修改饼形图的大小
// radius 第一个值是内圆的半径 第二个值是外圆的半径
// radius: ["40%", "90%"],
radius: ["30%", "90%"],
center: ["50%", "45%"],
avoidLabelOverlap: false,
// 图形上的文字
label: {
show: false,
position: "center"
},
// 链接文字和图形的线是否显示
labelLine: {
show: false
},
data: [{
value: arr[1][15],
name: arr[0][15]
},
{
value: arr[1][14],
name: arr[0][14]
},
{
value: arr[1][13],
name: arr[0][13]
},
{
value: arr[1][12],
name: arr[0][12]
},
{
value: arr[1][11],
name: arr[0][11]
},
{
value: arr[1][10],
name: arr[0][10]
},
{
value: arr[1][9],
name: arr[0][9]
},
{
value: arr[1][8],
name: arr[0][8]
},
{
value: arr[1][7],
name: arr[0][7]
},
{
value: arr[1][6],
name: arr[0][6]
},
{
value: arr[1][5],
name: arr[0][5]
},
{
value: arr[1][4],
name: arr[0][4]
},
{
value: arr[1][3],
name: arr[0][3]
},
{
value: arr[1][2],
name: arr[0][2]
},
{
value: arr[1][1],
name: arr[0][1]
},
{
value: arr[1][0],
name: arr[0][0]
},
]
}]
};
// 3. 把配置给实例对象
myChart.setOption(option);
// 4. 让图表跟随屏幕自动的去适应
window.addEventListener("resize", function () {
myChart.resize();
});
})();
// 饼形图2
(function () {
let myChart = echarts.init(document.querySelector(".pie2 .chart"));
let arr = dijson('shengchan') // arr获取拆分后的WaiMao文件的数据
console.log(arr) //f12查看详细数据
let option = {
color: ["#FF827D", "#E3A53D", "#E2FA51", "#5CE69F", "#468BFA"],
tooltip: {
trigger: "item",
formatter: "{a} <br/>{b} : {c} ({d}%)"
},
legend: {
bottom: "0%",
itemWidth: 8,
itemHeight: 8,
textStyle: {
color: "#3C34FF",
fontSize: "8"
}
},
series: [{
name: "生产总值(亿元):",
type: "pie",
radius: ["20%", "80%"],
center: ["50%", "50%"],
roseType: "radius",
// 图形的文字标签
label: {
fontSize: 10
},
// 链接图形和文字的线条
labelLine: {
// length 链接图形的线条
length: 6,
// length2 链接文字的线条
length2: 8
},
data: [{
value: arr[1][15],
name: arr[0][15]
},
{
value: arr[1][14],
name: arr[0][14]
},
{
value: arr[1][13],
name: arr[0][13]
},
{
value: arr[1][12],
name: arr[0][12]
},
{
value: arr[1][11],
name: arr[0][11]
},
{
value: arr[1][10],
name: arr[0][10]
},
{
value: arr[1][9],
name: arr[0][9]
},
{
value: arr[1][8],
name: arr[0][8]
},
{
value: arr[1][7],
name: arr[0][7]
},
{
value: arr[1][6],
name: arr[0][6]
},
{
value: arr[1][5],
name: arr[0][5]
},
{
value: arr[1][4],
name: arr[0][4]
},
{
value: arr[1][3],
name: arr[0][3]
},
{
value: arr[1][2],
name: arr[0][2]
},
{
value: arr[1][1],
name: arr[0][1]
},
{
value: arr[1][0],
name: arr[0][0]
},
]
}]
};
myChart.setOption(option);
// 监听浏览器缩放图表对象调用缩放resize函数
window.addEventListener("resize", function () {
myChart.resize();
});
})();
// 地图 中间
(function () {
let myChart = echarts.init(document.querySelector(".map .chart2"));
let geoCoordMap = {
// 海上丝绸之路
里斯本: [-9.13, 38.71],
比雷埃夫斯: [23.66, 37.95],
亚历山大: [29.92, 31.22],
吉达: [39.02, 21.05],
吉布提港: [43.13, 11.6],
迪拜: [55.3, 25.25],
孟买: [72.83, 18.97],
科伦坡: [79.85, 6.93],
班加罗尔: [77.60, 12.97],
吉大港: [91.8, 22.3],
吉隆坡: [101.7, 3.13],
新加坡: [103.85, 1.3],
南宁: [107.8, 22.33],
福州: [119.28, 26.08],
上海: [121.87, 30.82],
釜山: [129.03, 35.1],
北太平洋: [165, 55],
//新亚欧大陆桥
杭州: [120.17, 30.25],
西安: [108.8, 33.75],
乌鲁木齐: [87.56, 43.92],
莫斯科: [37.12, 56.13],
布列斯特: [23.68, 52.1],
华沙: [21, 52.25],
柏林: [13, 52],
伦敦: [0.15, 51.5],
阿拉木图: [76.89, 43.276],
塔什干: [69.3, 41.32],
德黑兰: [51.42, 35.63],
安卡拉: [32.86, 39.93],
伊斯坦布尔: [28.97, 41.01],
//中蒙俄经济走廊
哈巴罗夫斯克: [135.27, 48.73],
伊尔库茨克: [104.27, 52.3],
圣彼得堡: [30.41, 59.92],
符拉迪沃斯托克: [131, 43],
北京: [116.32, 39.93],
乌兰巴托: [106.89, 47.91]
};
// 海上丝绸之路
let XAData = [
[{
name: "上海"
}, {
name: "福州",
value: 100
}],
[{
name: "福州"
}, {
name: "南宁",
value: 100
}],
[{
name: "南宁"
}, {
name: "新加坡",
value: 100
}],
[{
name: "新加坡"
}, {
name: "吉隆坡",
value: 100
}],
[{
name: "吉隆坡"
}, {
name: "科伦坡",
value: 100
}],
[{
name: "吉大港"
}, {
name: "班加罗尔",
value: 100
}],
[{
name: "班加罗尔"
}, {
name: "科伦坡",
value: 100
}],
[{
name: "科伦坡"
}, {
name: "孟买",
value: 100
}],
[{
name: "孟买"
}, {
name: "迪拜",
value: 100
}],
[{
name: "迪拜"
}, {
name: "吉布提港",
value: 100
}],
[{
name: "吉布提港"
}, {
name: "吉达",
value: 100
}],
[{
name: "吉达"
}, {
name: "亚历山大",
value: 100
}],
[{
name: "亚历山大"
}, {
name: "比雷埃夫斯",
value: 100
}],
[{
name: "比雷埃夫斯"
}, {
name: "里斯本",
value: 100
}],
[{
name: "上海"
}, {
name: "釜山",
value: 100
}],
[{
name: "釜山"
}, {
name: "北太平洋",
value: 100
}]
];
//新亚欧大陆桥
let XNData = [
[{
name: "杭州"
}, {
name: "西安",
value: 100
}],
[{
name: "西安"
}, {
name: "乌鲁木齐",
value: 100
}],
[{
name: "乌鲁木齐"
}, {
name: "莫斯科",
value: 100
}],
[{
name: "莫斯科"
}, {
name: "布列斯特",
value: 100
}],
[{
name: "布列斯特"
}, {
name: "华沙",
value: 100
}],
[{
name: "华沙"
}, {
name: "柏林",
value: 100
}],
[{
name: "柏林"
}, {
name: "伦敦",
value: 100
}],
[{
name: "乌鲁木齐"
}, {
name: "阿拉木图",
value: 100
}],
[{
name: "阿拉木图"
}, {
name: "塔什干",
value: 100
}],
[{
name: "塔什干"
}, {
name: "德黑兰",
value: 100
}],
[{
name: "德黑兰"
}, {
name: "安卡拉",
value: 100
}],
[{
name: "安卡拉"
}, {
name: "伊斯坦布尔",
value: 100
}]
];
//中蒙俄经济走廊
let YCData = [
[{
name: "哈巴罗夫斯克"
}, {
name: "伊尔库茨克",
value: 100
}],
[{
name: "伊尔库茨克"
}, {
name: "莫斯科",
value: 100
}],
[{
name: "莫斯科"
}, {
name: "圣彼得堡",
value: 100
}],
[{
name: "符拉迪沃斯托克"
}, {
name: "伊尔库茨克",
value: 100
}],
[{
name: "北京"
}, {
name: "乌兰巴托",
value: 100
}],
[{
name: "乌兰巴托"
}, {
name: "伊尔库茨克",
value: 100
}]
];
let planePath =
"path://M1705.06,1318.313v-89.254l-319.9-221.799l0.073-208.063c0.521-84.662-26.629-121.796-63.961-121.491c-37.332-0.305-64.482,36.829-63.961,121.491l0.073,208.063l-319.9,221.799v89.254l330.343-157.288l12.238,241.308l-134.449,92.931l0.531,42.034l175.125-42.917l175.125,42.917l0.531-42.034l-134.449-92.931l12.238-241.308L1705.06,1318.313z";
let convertData = function (data) {
let res = [];
for (let i = 0; i < data.length; i++) {
let dataItem = data[i];
let fromCoord = geoCoordMap[dataItem[0].name];
let toCoord = geoCoordMap[dataItem[1].name];
if (fromCoord && toCoord) {
res.push({
fromName: dataItem[0].name,
toName: dataItem[1].name,
coords: [fromCoord, toCoord],
value: dataItem[1].value
});
}
}
return res;
};
let color = ["#5599FF", "#FF7744", "#9F88FF"]; //航线的颜色
let root = ["海上丝绸之路", "新亚欧大陆桥", "中蒙俄经济走廊"]//路线名称
let series = [];
[
["海上丝绸之路", XAData],
["新亚欧大陆桥", XNData],
["中蒙俄经济走廊", YCData]
].forEach(function (item, i) {
series.push({
name: item[0],//+ " Top3",
type: "lines",
zlevel: 1,
effect: {
show: true,
period: 6,
trailLength: 0.7,
color: "#FFFFFF", //arrow箭头尾迹的颜色
symbolSize: 3
},
lineStyle: {
normal: {
color: color[i],
width: 0,
curveness: 0.2
}
},
data: convertData(item[1])
},
{ //线条系列数据
name: item[0],// + " Top3",
type: "lines",
zlevel: 2,
symbol: ["none", "arrow"], //标记的图像:箭头
symbolSize: 10, //标记的大小
effect: { //线条特效的配置
show: true,
period: 6, //特效动画的时间单位s
trailLength: 0, //特效尾迹的长度
symbol: planePath, //特效图形的标记可选circle
// symbol: gtPath,
symbolSize: 15 //特效标记的大小
},
lineStyle: { //线条样式
normal: {
color: color[i],
width: 1, //线条宽度
opacity: 0.6, //尾迹线条透明度
curveness: 0.2 //尾迹线条曲直度
}
},
data: convertData(item[1])
},
{
name: item[0],// + " Top3",
type: "effectScatter",
coordinateSystem: "geo",
zlevel: 2,
rippleEffect: {
brushType: "stroke"
},
label: {
normal: {
show: false, //不显示地名
position: "right",
formatter: "{b}"
}
},
symbolSize: function (val) {
return val[2] / 8;
},
itemStyle: {
normal: {
color: color[i]
},
emphasis: {
areaColor: "#2B91B7"
}
},
data: item[1].map(function (dataItem) {
return {
name: dataItem[1].name,
value: geoCoordMap[dataItem[1].name].concat([dataItem[1].value])
};
})
});
});
let option = {
tooltip: {//提示框
trigger: "item",//数据项图形触发
},
legend: {
orient: "vertical",
top: "bottom",
left: "right",
data: ["海上丝绸之路 ", "新亚欧大陆桥 ", "中蒙俄经济走廊"],
textStyle: {
color: "#000"
},
selectedMode: "multiple"
},
geo: {
map: "world",
label: {
emphasis: {
show: true, //显示国家名
color: "#fff"
}
},
// 把世界地图放大了1.2倍
zoom: 1.5,
roam: true,
itemStyle: {
normal: {
// 地图省份的背景颜色
areaColor: "#FFBB66",
opacity: 0.85,
borderColor: "#888888",
borderWidth: 1
},
emphasis: {
areaColor: "#3069a9"
}
}
},
series: series
};
myChart.setOption(option);
// 监听浏览器缩放图表对象调用缩放resize函数
window.addEventListener("resize", function () {
myChart.resize();
});
})();
}
//Builders
console.log("程婧", "胡雨婷", "邵仁杰")