|
|
|
|
@ -5,6 +5,8 @@ var time2 = () => {
|
|
|
|
|
}
|
|
|
|
|
var time3 = () => {
|
|
|
|
|
}
|
|
|
|
|
var time4 = () => {
|
|
|
|
|
}
|
|
|
|
|
// 随机数
|
|
|
|
|
const random = (val = 1) => {
|
|
|
|
|
return Math.ceil(Math.random() * val)
|
|
|
|
|
@ -940,6 +942,108 @@ const barChartAndLineChartFour = function (data, id) {
|
|
|
|
|
$(window).resize(charts.resize);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 折线图
|
|
|
|
|
const lineChart = function (data, id) {
|
|
|
|
|
let charts = echarts.init(id);
|
|
|
|
|
if (!data) {
|
|
|
|
|
data = {
|
|
|
|
|
xName: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
|
|
|
|
|
yData: [61, 25, 57, 83, 87, 73, 17, 25, 57, 83, 87, 73],
|
|
|
|
|
yDataName: "提升百分比"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
let option = {
|
|
|
|
|
grid: {
|
|
|
|
|
top: '20%',
|
|
|
|
|
left: '5%',
|
|
|
|
|
right: '5%',
|
|
|
|
|
bottom: '8%',
|
|
|
|
|
containLabel: true,
|
|
|
|
|
},
|
|
|
|
|
tooltip: {
|
|
|
|
|
trigger: 'axis',
|
|
|
|
|
axisPointer: {
|
|
|
|
|
type: 'shadow',
|
|
|
|
|
label: {
|
|
|
|
|
show: true,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
legend: {
|
|
|
|
|
top: '5%',
|
|
|
|
|
textStyle: {
|
|
|
|
|
fontSize:0.75*vw,
|
|
|
|
|
color: '#90cb5e',
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
xAxis: {
|
|
|
|
|
type: 'category',
|
|
|
|
|
data:data.xName,
|
|
|
|
|
axisLine: {
|
|
|
|
|
show: true,
|
|
|
|
|
},
|
|
|
|
|
axisTick: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
axisLabel: {
|
|
|
|
|
show: true,
|
|
|
|
|
textStyle: {
|
|
|
|
|
color: '#ffffff', //X轴文字颜色
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
yAxis: [
|
|
|
|
|
{
|
|
|
|
|
type: 'value',
|
|
|
|
|
nameTextStyle: {
|
|
|
|
|
color: '#393939',
|
|
|
|
|
},
|
|
|
|
|
splitLine: {
|
|
|
|
|
show: false,
|
|
|
|
|
lineStyle: {
|
|
|
|
|
color: '#eeeeee',
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
axisTick: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
axisLine: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
axisLabel: {
|
|
|
|
|
show: true,
|
|
|
|
|
textStyle: {
|
|
|
|
|
color: '#ffffff',
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
name: data.yDataName,
|
|
|
|
|
type: 'line',
|
|
|
|
|
showAllSymbol: true, //显示所有图形。
|
|
|
|
|
symbol: 'circle', //标记的图形为实心圆
|
|
|
|
|
symbolSize: 4, //标记的大小
|
|
|
|
|
itemStyle: {
|
|
|
|
|
//折线拐点标志的样式
|
|
|
|
|
color: '#f3454b',
|
|
|
|
|
borderWidth: '2',
|
|
|
|
|
borderColor: '#f3454b',
|
|
|
|
|
},
|
|
|
|
|
lineStyle: {
|
|
|
|
|
color: '#f3454b',
|
|
|
|
|
},
|
|
|
|
|
data: data.yData,
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
charts.setOption(option);
|
|
|
|
|
$(window).resize(charts.resize);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 饼图
|
|
|
|
|
const pieChart = function (data, id) {
|
|
|
|
|
let charts = echarts.init(id);
|
|
|
|
|
@ -1030,7 +1134,7 @@ const pieChart = function (data, id) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 垂直柱状图
|
|
|
|
|
const verticalBarChart = function (data, id) {
|
|
|
|
|
const verticalBarChart = function (data, id,unit='次') {
|
|
|
|
|
let charts = echarts.init(id);
|
|
|
|
|
if (!data) {
|
|
|
|
|
data = {
|
|
|
|
|
@ -1096,7 +1200,7 @@ const verticalBarChart = function (data, id) {
|
|
|
|
|
fontSize: 0.8 * vw,
|
|
|
|
|
color: '#fff'
|
|
|
|
|
},
|
|
|
|
|
formatter: `{c}次`
|
|
|
|
|
formatter: `{c}${unit}`
|
|
|
|
|
},
|
|
|
|
|
itemStyle: {
|
|
|
|
|
normal: {
|
|
|
|
|
@ -1518,6 +1622,203 @@ const multipleVerticalBarChartTwo = function (data, id, rotate = 0) {
|
|
|
|
|
charts.setOption(option);
|
|
|
|
|
$(window).resize(charts.resize);
|
|
|
|
|
}
|
|
|
|
|
const multipleVerticalBarChartThree = function (data, id, rotate = 0) {
|
|
|
|
|
|
|
|
|
|
clearInterval(time4)
|
|
|
|
|
let charts = echarts.init(id);
|
|
|
|
|
if (!data) {
|
|
|
|
|
data = {
|
|
|
|
|
xName: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '7月', '7月'],
|
|
|
|
|
yDataOne: [22, 52, 55, 12, 35, 44, 66, 44, 66],
|
|
|
|
|
yDataOneName: 'a1',
|
|
|
|
|
yDataTwo: [32, 42, 50, 22, 30, 40, 52, 44, 66],
|
|
|
|
|
yDataTwoName: "a2",
|
|
|
|
|
yDataThree: [32, 42, 50, 22, 30, 40, 52, 44, 66],
|
|
|
|
|
yDataThreeName: "a3",
|
|
|
|
|
yDataFour: [32, 42, 50, 22, 30, 40, 52, 44, 66],
|
|
|
|
|
yDataFourName: "a4",
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
let option = {
|
|
|
|
|
grid: {
|
|
|
|
|
top: "20%",
|
|
|
|
|
left: "1%",
|
|
|
|
|
right: "1%",
|
|
|
|
|
bottom: "1%",
|
|
|
|
|
containLabel: true,
|
|
|
|
|
},
|
|
|
|
|
tooltip: {
|
|
|
|
|
trigger: 'axis',
|
|
|
|
|
axisPointer: {
|
|
|
|
|
type: 'shadow'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
legend: {
|
|
|
|
|
data: [data.yDataOneName, data.yDataTwoName,data.yDataThreeName,data.yDataFourName],
|
|
|
|
|
textStyle: {
|
|
|
|
|
fontSize: 0.75 * vw,
|
|
|
|
|
color: "#F1F1F3",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
dataZoom:[],
|
|
|
|
|
xAxis: [
|
|
|
|
|
{
|
|
|
|
|
type: 'category',
|
|
|
|
|
axisTick: {show: false},
|
|
|
|
|
axisLabel: {
|
|
|
|
|
rotate: rotate,
|
|
|
|
|
margin: 20,
|
|
|
|
|
textStyle: {
|
|
|
|
|
fontSize: 0.75 * vw,
|
|
|
|
|
color: "#F1F1F3",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
data: data.xName
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
yAxis: [
|
|
|
|
|
{
|
|
|
|
|
axisLabel: {
|
|
|
|
|
textStyle: {
|
|
|
|
|
fontSize: 0.75 * vw,
|
|
|
|
|
color: "#F1F1F3",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
splitLine: {
|
|
|
|
|
lineStyle: {
|
|
|
|
|
color: "rgba(255,255,255,0.1)",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
type: 'value'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
name: data.yDataOneName,
|
|
|
|
|
type: 'bar',
|
|
|
|
|
barGap: 0,
|
|
|
|
|
emphasis: {
|
|
|
|
|
focus: 'series'
|
|
|
|
|
},
|
|
|
|
|
itemStyle: {
|
|
|
|
|
//图形样式
|
|
|
|
|
normal: {
|
|
|
|
|
color: "#1FEDCA",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
label: {
|
|
|
|
|
show: true,
|
|
|
|
|
position: "top",
|
|
|
|
|
textStyle: {
|
|
|
|
|
color: "rgba(255,255,255,0.5)",
|
|
|
|
|
fontSize: 0.75 * vw
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
data: data.yDataOne
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: data.yDataTwoName,
|
|
|
|
|
type: 'bar',
|
|
|
|
|
emphasis: {
|
|
|
|
|
focus: 'series'
|
|
|
|
|
},
|
|
|
|
|
label: {
|
|
|
|
|
show: true,
|
|
|
|
|
position: "top",
|
|
|
|
|
textStyle: {
|
|
|
|
|
color: "rgba(255,255,255,0.5)",
|
|
|
|
|
fontSize: 0.75 * vw
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
itemStyle: {
|
|
|
|
|
//图形样式
|
|
|
|
|
normal: {
|
|
|
|
|
color: "#E65454",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
data: data.yDataTwo
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: data.yDataThreeName,
|
|
|
|
|
type: 'bar',
|
|
|
|
|
emphasis: {
|
|
|
|
|
focus: 'series'
|
|
|
|
|
},
|
|
|
|
|
label: {
|
|
|
|
|
show: true,
|
|
|
|
|
position: "top",
|
|
|
|
|
textStyle: {
|
|
|
|
|
color: "rgba(255,255,255,0.5)",
|
|
|
|
|
fontSize: 0.75 * vw
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
itemStyle: {
|
|
|
|
|
//图形样式
|
|
|
|
|
normal: {
|
|
|
|
|
color: "#351865",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
data: data.yDataThree
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: data.yDataFourName,
|
|
|
|
|
type: 'bar',
|
|
|
|
|
emphasis: {
|
|
|
|
|
focus: 'series'
|
|
|
|
|
},
|
|
|
|
|
label: {
|
|
|
|
|
show: true,
|
|
|
|
|
position: "top",
|
|
|
|
|
textStyle: {
|
|
|
|
|
color: "rgba(255,255,255,0.5)",
|
|
|
|
|
fontSize: 0.75 * vw
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
itemStyle: {
|
|
|
|
|
//图形样式
|
|
|
|
|
normal: {
|
|
|
|
|
color: "#4b7232",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
data: data.yDataFour
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
if (data.yDataOne.length > 7) {
|
|
|
|
|
option.dataZoom.push({
|
|
|
|
|
show: false,
|
|
|
|
|
type: 'slider',
|
|
|
|
|
bottom: '0%',
|
|
|
|
|
xAxisIndex: 0,
|
|
|
|
|
height: 12,
|
|
|
|
|
start: 0,
|
|
|
|
|
end: 1 / (data.yDataOne.length / 6) * 100,
|
|
|
|
|
textStyle: {
|
|
|
|
|
fontSize: 0,
|
|
|
|
|
color: 'rgba(0,0,0,0)'
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
let step = 1 / (data.yDataOne.length / 6) * 100
|
|
|
|
|
time4 = setInterval(() => {
|
|
|
|
|
option.dataZoom[0].end += step
|
|
|
|
|
option.dataZoom[0].start += step
|
|
|
|
|
if (option.dataZoom[0].start >= 100) {
|
|
|
|
|
option.dataZoom[0].start = 0
|
|
|
|
|
option.dataZoom[0].end = step
|
|
|
|
|
}
|
|
|
|
|
if (option.dataZoom[0].end >= 100) {
|
|
|
|
|
option.dataZoom[0].end = 100
|
|
|
|
|
option.dataZoom[0].start = option.dataZoom[0].end - step
|
|
|
|
|
}
|
|
|
|
|
charts.setOption(option);
|
|
|
|
|
}, 6000)
|
|
|
|
|
// time()
|
|
|
|
|
}
|
|
|
|
|
charts.setOption(option);
|
|
|
|
|
$(window).resize(charts.resize);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 单个垂直柱状图
|
|
|
|
|
const singleVerticalBarChart = function (data, id, rotate = 0, bottom = '15%') {
|
|
|
|
|
|