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 += "
" + 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 += "
" + 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}
{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}
{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("程婧", "胡雨婷", "邵仁杰")