文章目录
1.柱状图
var name = ['故意伤害', '盗窃', '交通肇事', '酒驾'];
var count = [60, 80, 75, 64];
option = {
xAxis: {
type: 'category',
data: name
},
yAxis: {
type: 'value'
},
// xAxis: { //横向显示
// type: 'value',
// data: name
// },
// yAxis: {
// type: 'category'
// },
series: [
{
name: '案件数量',
type: 'bar',
smooth: true, //平滑曲线
data: count ,
label: {
//显示柱上字体
show: true,
rotate: 50, // 柱上字的角度
position: 'inside' // 柱上字的位置
},
barWidth: '30%', // 柱的宽度
markLine: {
data: [
{
type: 'average',
name: '平均值'
}
]
},
markPoint: {
data: [
{
type: 'max',
name: '最大值'
},
{
type: 'min',
name: '最小值'
}
]
}
}
]
};
示例
2.通用配置
1. 标题:title
2.提示:tooltip
var name = ['故意伤害', '盗窃', '交通肇事', '酒驾'];
var count = [60, 80, 75, 64];
option = {
// title
title: {
text: '案件统计',
// 文字样式
textStyle: {
color: 'black'
},
// 标题边框
borderWidth: 1,
borderColor: 'gray',
borderRadius: 2,
left: 10, // 标题位置
top: 10
},
// tooltip提示
tooltip: {
// trigger: 'item'// 触发类型
trigger: 'axis', // 坐标轴触发
// triggerOn:'click' // 触发时机
triggerOn: 'onmousemove',
// formatter: '{b}的数量为:{c}' // formatter {b}为类名,{c}为value
formatter: (arg) => {
//自定义tooltip提示内容 // 可以通过arg获取当前事件对象的值
// console.log(arg)
return `${arg[0].axisValue}的数量是:${arg[0].data}`;
}
},
xAxis: {
type: 'category',
data: name
},
yAxis: {
type: 'value'
},
// xAxis: { //横向显示
// type: 'value',
// data: name
// },
// yAxis: {
// type: 'category'
// },
series: [
{
name: '案件数量',
type: 'bar',
smooth: true, //平滑曲线
data: count,
label: {
//显示柱上字体
show: true,
rotate: 50, // 柱上字的角度
position: 'inside' // 柱上字的位置
},
barWidth: '30%', // 柱的宽度
markLine: {
data: [
{
type: 'average',
name: '平均值'
}
]
},
markPoint: {
data: [
{
type: 'max',
name: '最大值'
},
{
type: 'min',
name: '最小值'
}
]
}
}
]
};
示例
3.工具按钮:toolbox
var name = ['故意伤害', '盗窃', '交通肇事', '酒驾'];
var count = [60, 80, 75, 64];
option = {
// toolbox
toolbox: {
feature: {
saveAsImage: {}, // 保存图片
dataView: {}, // 数据视图
restore: {}, // 重置
dataZoom: {}, //区域缩放
magicType: {
type: ['line', 'bar']
} // 动态图表类型切换
}
},
// title
title: {
text: '案件统计',
// 文字样式
textStyle: {
color: 'black'
},
// 标题边框
borderWidth: 1,
borderColor: 'gray',
borderRadius: 2,
left: 10, // 标题位置
top: 10
},
// tooltip提示
tooltip: {
trigger: 'item' // 触发类型
// trigger: 'axis', // 坐标轴触发
// triggerOn:'click' // 触发时机
// triggerOn: 'onmousemove',
// formatter: '{b}的数量为:{c}' // formatter {b}为类名,{c}为value
// formatter: (arg) => {
// //自定义tooltip提示内容 // 可以通过arg获取当前事件对象的值
// // console.log(arg)
// return `${arg[0].axisValue}的数量是:${arg[0].data}`;
// }
},
xAxis: {
type: 'category',
data: name
},
yAxis: {
type: 'value'
},
// xAxis: { //横向显示
// type: 'value',
// data: name
// },
// yAxis: {
// type: 'category'
// },
series: [
{
name: '案件数量',
type: 'bar',
smooth: true, //平滑曲线
data: count,
label: {
//显示柱上字体
show: true,
rotate: 50, // 柱上字的角度
position: 'inside' // 柱上字的位置
},
barWidth: '30%', // 柱的宽度
markLine: {
data: [
{
type: 'average',
name: '平均值'
}
]
},
markPoint: {
data: [
{
type: 'max',
name: '最大值'
},
{
type: 'min',
name: '最小值'
}
]
}
}
]
};
4. 图例:legend,用于筛选系列,需要配合series使用
var xName = ['故意伤害', '盗窃', '交通肇事', '酒驾']; // 案件类型名称
var yCount = [60, 80, 75, 64]; //案件数量统计
var yMenCount = [55, 60, 45, 60]; // 男性案件数量
var yWomenCount = [5, 20, 30, 4]; // 女性案件数量
option = {
// legend 图例
legend: {
data: ['案件数量', '男性数量', '女性数量']
},
// toolbox
toolbox: {
feature: {
saveAsImage: {}, // 保存图片
dataView: {}, // 数据视图
restore: {}, // 重置
dataZoom: {}, //区域缩放
magicType: {
type: ['line', 'bar']
} // 动态图表类型切换
}
},
// title
title: {
text: '案件统计',
// 文字样式
textStyle: {
color: 'black'
},
// 标题边框
borderWidth: 1,
borderColor: 'gray',
borderRadius: 2,
left: 10, // 标题位置
top: 10
},
// tooltip提示
tooltip: {
trigger: 'item' // 触发类型
// trigger: 'axis', // 坐标轴触发
// triggerOn:'click' // 触发时机
// triggerOn: 'onmousemove',
// formatter: '{b}的数量为:{c}' // formatter {b}为类名,{c}为value
// formatter: (arg) => {
// //自定义tooltip提示内容 // 可以通过arg获取当前事件对象的值
// // console.log(arg)
// return `${arg[0].axisValue}的数量是:${arg[0].data}`;
// }
},
xAxis: {
type: 'category',
data: xName
},
yAxis: {
type: 'value'
},
// xAxis: { //横向显示
// type: 'value',
// data: xName
// },
// yAxis: {
// type: 'category'
// },
series: [
{
name: '案件数量',
type: 'bar',
smooth: true, //平滑曲线
data: yCount,
label: {
//显示柱上字体
show: true,
rotate: 50, // 柱上字的角度
position: 'inside' // 柱上字的位置
},
// barWidth: '30%', // 柱的宽度
markLine: {
data: [
{
type: 'average',
name: '平均值'
}
]
},
markPoint: {
data: [
{
type: 'max',
name: '最大值'
},
{
type: 'min',
name: '最小值'
}
]
}
},
{
name: '男性数量',
type: 'bar',
data: yMenCount,
smooth: true //平滑曲线
},
{
name: '女性数量',
type: 'bar',
data: yWomenCount,
smooth: true //平滑曲线
}
]
};
3.折线图
var xName = ['故意伤害', '盗窃', '交通肇事', '酒驾']; // 案件类型名称
var xMonth = ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'] //月份数据
var yMonthCount = [20,30,35,22,5,22,14,14,9,10,11,10] //每月案件数据统计
var yCount = [60, 80, 75, 64]; //案件数量统计
var yMenCount = [55, 60, 45, 60]; // 男性案件数量
var yWomenCount = [5, 20, 30, 4]; // 女性案件数量
option = {
xAxis:{
type:'category',
data:xMonth,
},
yAxis:{
type:'value'
},
series:[
{
name:'案件数量统计',
data:yMonthCount,
type:'line',
smooth:true,
},
],
}
1.常见效果(最大值,最小值,平均值与柱状图一样,多了一个标注区间效果)
MarkPoint, MarkLine,markarea
2.标注区间
markarea
3.填充风格
var xName = ['故意伤害', '盗窃', '交通肇事', '酒驾']; // 案件类型名称
var xMonth = [
'1月',
'2月',
'3月',
'4月',
'5月',
'6月',
'7月',
'8月',
'9月',
'10月',
'11月',
'12月'
]; //月份数据
var yMonthCount = [2, 10, 15, 17, 5, 9, 14, 15, 9, 10, 11, 10]; //每月案件数据统计
var yCount = [60, 80, 75, 64]; //案件数量统计
var yMenCount = [55, 60, 45, 60]; // 男性案件数量
var yWomenCount = [5, 20, 30, 4]; // 女性案件数量
option = {
xAxis: {
type: 'category',
data: xMonth
},
yAxis: {
type: 'value'
},
series: [
{
name: '案件数量统计',
data: yMonthCount,
type: 'line',
smooth: true, // 线条平滑风格
lineStyle: {
// 线条样式
color: 'green',
// type:'dashed', // 小线段
type: 'dotted' // 点状线
// type:'solid' // 实线 ,默认
},
areaStyle: {
color: 'lightgreen'
}, // 线段区域填充风格
markPoint: {
data: [
{
type: 'max' // 最大值
},
{
type: 'min' // 最小值
}
]
},
markLine: {
data: [
{
type: 'average' //平均值
}
]
},
markArea: {
//标注区域
data: [
[
{
xAxis: '1月'
},
{
xAxis: '2月'
}
],
[
{
xAxis: '5月'
},
{
xAxis: '6月'
}
]
]
}
}
]
};
4.紧挨边缘
5.缩放(脱离0值比例)
6.堆叠图
暂存1
var xName = ['故意伤害', '盗窃', '交通肇事', '酒驾']; // 案件类型名称
var xMonth = [
'1月',
'2月',
'3月',
'4月',
'5月',
'6月',
'7月',
'8月',
'9月',
'10月',
'11月',
'12月'
]; //月份数据
var yMonthCount = [2, 10, 15, 17, 5, 9, 14, 15, 9, 10, 11, 10]; //每月案件数据统计
var yMenCount = [2, 8, 10, 13, 4, 7, 10, 12, 7, 8, 9, 7]; // 男性案件数量
var yWomenCount = [0, 2, 5, 4, 1, 2, 4, 3, 2, 2, 2, 3]; // 女性案件数量
var yGYSH = [1, 2, 5, 7, 1, 4, 5, 10, 4, 3, 1, 3]; //每月故意伤害案件数据统计
var yDQ = [1, 4, 7, 9, 1, 5, 5, 1, 4, 3, 2, 4]; //每月盗窃案件数据统计
var yJTZS = [0, 1, 1, 1, 1, 2, 1, 2, 1, 2, 5, 2]; //每月交通肇事案件数据统计
var yJJ = [0, 3, 2, 0, 2, 2, 3, 2, 0, 2, 2, 1]; //每月酒驾案件数据统计
// var yCount = [60, 80, 75, 64]; //案件数量统计
// var yMenCount = [55, 60, 45, 60]; // 男性案件数量
// var yWomenCount = [5, 20, 30, 4]; // 女性案件数量
option = {
// title
title: {
text: '案件统计',
// 文字样式
textStyle: {
color: 'black'
}
// 标题边框
// borderWidth: 1,
// borderColor: 'gray',
// borderRadius: 2,
// left: 10, // 标题位置
// top: 10
},
// toolbox
toolbox: {
feature: {
saveAsImage: {}, // 保存图片
dataView: {}, // 数据视图
restore: {}, // 重置
dataZoom: {}, //区域缩放
magicType: {
type: ['line', 'bar']
} // 动态图表类型切换
}
},
legend: {
data: [
'酒驾案件',
'交通肇事案件',
'盗窃案件',
'故意伤害案件',
'男性案件数量',
'女性案件数量',
'案件数量合计'
]
},
// tooltip提示
tooltip: {
// trigger: 'item'// 触发类型
trigger: 'axis' // 坐标轴触发
// triggerOn:'click' // 触发时机
// triggerOn: 'onmousemove',
// formatter: '{b}的数量为:{c}' // formatter {b}为类名,{c}为value
// formatter: (arg) => {
// //自定义tooltip提示内容 // 可以通过arg获取当前事件对象的值
// // console.log(arg)
// return `${arg[0].axisValue}的数量是:${arg[0].data}`;
// }
},
xAxis: {
type: 'category',
data: xMonth,
boundaryGap: false // 紧挨边缘
},
yAxis: {
type: 'value',
scale: true //缩放(脱离0值比例)
},
series: [
{
name: '女性案件数量',
data: yWomenCount,
type: 'line',
// label: {
// //显示柱上字体
// show: true,
// rotate: 50, // 柱上字的角度
// position: 'inside' // 柱上字的位置
// },
// barWidth: '20%', // 柱的宽度
smooth: true,
lineStyle: {
// 线条样式
color: 'green',
// type:'dashed', // 小线段
type: 'dotted' // 点状线
// type:'solid' // 实线 ,默认
}
},
{
name: '男性案件数量',
data: yMenCount,
type: 'line',
// label: {
// //显示柱上字体
// show: true,
// rotate: 50, // 柱上字的角度
// position: 'inside' // 柱上字的位置
// },
// barWidth: '20%', // 柱的宽度
smooth: true,
lineStyle: {
// 线条样式
color: 'green',
// type:'dashed', // 小线段
type: 'dotted' // 点状线
// type:'solid' // 实线 ,默认
}
},
{
name: '酒驾案件',
data: yJJ,
type: 'bar'
// label: {
// //显示柱上字体
// show: true,
// rotate: 50, // 柱上字的角度
// position: 'inside' // 柱上字的位置
// },
// barWidth: '20%', // 柱的宽度
// smooth:true,
// lineStyle: {
// // 线条样式
// color: 'green',
// // type:'dashed', // 小线段
// type: 'dotted' // 点状线
// // type:'solid' // 实线 ,默认
// },
},
{
name: '交通肇事案件',
data: yJTZS,
type: 'bar'
// smooth:true,
// lineStyle: {
// // 线条样式
// color: 'green',
// // type:'dashed', // 小线段
// type: 'dotted' // 点状线
// // type:'solid' // 实线 ,默认
// },
},
{
name: '盗窃案件',
data: yDQ,
type: 'bar'
// smooth:true,
// lineStyle: {
// // 线条样式
// color: 'green',
// // type:'dashed', // 小线段
// type: 'dotted' // 点状线
// // type:'solid' // 实线 ,默认
// },
},
{
name: '故意伤害案件',
data: yGYSH,
type: 'bar'
// smooth:true,
// lineStyle: {
// // 线条样式
// color: 'green',
// // type:'dashed', // 小线段
// type: 'dotted' // 点状线
// // type:'solid' // 实线 ,默认
// },
},
{
name: '案件数量合计',
data: yMonthCount,
type: 'line',
borderColor: 'red',
borderWidth: '50%',
smooth: true, // 线条平滑风格
lineStyle: {
// 线条样式
color: 'green'
// type:'dashed', // 小线段
// type: 'dotted' // 点状线
// type:'solid' // 实线 ,默认
},
// areaStyle: {
// color: 'lightgreen'
// }, // 线段区域填充风格
markPoint: {
data: [
{
type: 'max', // 最大值
name: '最大值'
},
{
type: 'min', // 最小值
name: '最小值'
}
]
},
markLine: {
data: [
{
type: 'average', //平均值
name: '平均值'
}
]
}
// markArea: {
// //标注区域
// data: [
// [
// {
// xAxis: '1月'
// },
// {
// xAxis: '2月'
// }
// ],
// [
// {
// xAxis: '5月'
// },
// {
// xAxis: '6月'
// }
// ]
// ]
// }
}
]
};
暂存2
var xName = ['故意伤害', '盗窃', '交通肇事', '酒驾']; // 案件类型名称
var xMonth = [
'1月',
'2月',
'3月',
'4月',
'5月',
'6月',
'7月',
'8月',
'9月',
'10月',
'11月',
'12月'
]; //月份数据
var yMonthCount = [2, 4, 6, 8, 10, 12, 14, 16, 20, 24, 28, 34]; //每月案件数据统计
var yGYSH = [1, 2, 2, 3, 4, 4, 5, 6, 7, 8, 10, 11]; //每月故意伤害案件数据统计
var yDQ = [1, 2, 2, 3, 3, 5, 5, 6, 8, 9, 10, 11]; //每月盗窃案件数据统计
var yJTZS = [0, 0, 1, 1, 1, 2, 1, 2, 2, 3, 4, 5]; //每月交通肇事案件数据统计
var yJJ = [0, 0, 1, 1, 2, 2, 3, 2, 3, 4, 4, 7]; //每月酒驾案件数据统计
var yMenCount = [2, 3, 3, 6, 8, 10, 12, 13, 14, 16, 20, 24]; // 男性案件数量
var yWomenCount = [0, 1, 3, 2, 2, 2, 2, 3, 6, 8, 8, 10]; // 女性案件数量
// var yCount = [60, 80, 75, 64]; //案件数量统计
// var yMenCount = [55, 60, 45, 60]; // 男性案件数量
// var yWomenCount = [5, 20, 30, 4]; // 女性案件数量
option = {
// title
title: {
text: '案件数量趋势',
// 文字样式
textStyle: {
color: 'black'
}
// 标题边框
// borderWidth: 1,
// borderColor: 'gray',
// borderRadius: 2,
// left: 10, // 标题位置
// top: 10
},
// toolbox
toolbox: {
feature: {
saveAsImage: {}, // 保存图片
dataView: {}, // 数据视图
restore: {}, // 重置
dataZoom: {}, //区域缩放
magicType: {
type: ['line', 'bar']
} // 动态图表类型切换
}
},
legend: {
data: [
'酒驾案件',
'交通肇事案件',
'盗窃案件',
'故意伤害案件',
'男性案件数量',
'女性案件数量',
'案件数量合计'
]
},
// tooltip提示
tooltip: {
// trigger: 'item'// 触发类型
trigger: 'axis' // 坐标轴触发
// triggerOn:'click' // 触发时机
// triggerOn: 'onmousemove',
// formatter: '{b}的数量为:{c}' // formatter {b}为类名,{c}为value
// formatter: (arg) => {
// //自定义tooltip提示内容 // 可以通过arg获取当前事件对象的值
// // console.log(arg)
// return `${arg[0].axisValue}的数量是:${arg[0].data}`;
// }
},
xAxis: {
type: 'category',
data: xMonth,
boundaryGap: false // 紧挨边缘
},
yAxis: {
type: 'value',
scale: true //缩放(脱离0值比例)
},
series: [
{
name: '女性案件数量',
data: yWomenCount,
type: 'line',
stack:'all',
// areaStyle:{}, // 堆叠
// label: {
// //显示柱上字体
// show: true,
// rotate: 50, // 柱上字的角度
// position: 'inside' // 柱上字的位置
// },
// barWidth: '20%', // 柱的宽度
smooth: true,
lineStyle: {
// 线条样式
color: 'green',
// type:'dashed', // 小线段
type: 'dotted' // 点状线
// type:'solid' // 实线 ,默认
}
},
{
name: '男性案件数量',
data: yMenCount,
type: 'line',
// label: {
// //显示柱上字体
// show: true,
// rotate: 50, // 柱上字的角度
// position: 'inside' // 柱上字的位置
// },
// barWidth: '20%', // 柱的宽度
smooth: true,
stack:'all',// 堆叠
// areaStyle:{},
lineStyle: {
// 线条样式
color: 'green',
// type:'dashed', // 小线段
type: 'dotted' // 点状线
// type:'solid' // 实线 ,默认
}
},
{
name: '酒驾案件',
data: yJJ,
type: 'bar',
// label: {
// //显示柱上字体
// show: true,
// rotate: 50, // 柱上字的角度
// position: 'inside' // 柱上字的位置
// },
// barWidth: '20%', // 柱的宽度
// smooth:true,
// lineStyle: {
// // 线条样式
// color: 'green',
// // type:'dashed', // 小线段
// type: 'dotted' // 点状线
// // type:'solid' // 实线 ,默认
// },
},
{
name: '交通肇事案件',
data: yJTZS,
type: 'bar',
// smooth:true,
// lineStyle: {
// // 线条样式
// color: 'green',
// // type:'dashed', // 小线段
// type: 'dotted' // 点状线
// // type:'solid' // 实线 ,默认
// },
},
{
name: '盗窃案件',
data: yDQ,
type: 'bar',
// smooth:true,
// lineStyle: {
// // 线条样式
// color: 'green',
// // type:'dashed', // 小线段
// type: 'dotted' // 点状线
// // type:'solid' // 实线 ,默认
// },
},
{
name: '故意伤害案件',
data: yGYSH,
type: 'bar',
// smooth:true,
// lineStyle: {
// // 线条样式
// color: 'green',
// // type:'dashed', // 小线段
// type: 'dotted' // 点状线
// // type:'solid' // 实线 ,默认
// },
},
{
name: '案件数量合计',
data: yMonthCount,
type: 'line',
borderColor: 'red',
borderWidth: '50%',
smooth: true, // 线条平滑风格
stack:'all',
// areaStyle:{},
lineStyle: {
// 线条样式
color: 'green'
// type:'dashed', // 小线段
// type: 'dotted' // 点状线
// type:'solid' // 实线 ,默认
},
// areaStyle: {
// color: 'lightgreen'
// }, // 线段区域填充风格
markPoint: {
data: [
{
type: 'max', // 最大值
name: '最大值'
},
{
type: 'min', // 最小值
name: '最小值'
}
]
},
markLine: {
data: [
{
type: 'average', //平均值
name: '平均值'
}
]
}
// markArea: {
// //标注区域
// data: [
// [
// {
// xAxis: '1月'
// },
// {
// xAxis: '2月'
// }
// ],
// [
// {
// xAxis: '5月'
// },
// {
// xAxis: '6月'
// }
// ]
// ]
// }
}
]
};
暂存3
1.饼图
option = {
toolbox: {
feature: {
saveAsImage: {},
dataView: {},
restore: {},
dataZoom: {},
magicType: ['bar', 'line'
]
}
},
title: [
{
text: '案件类型占比',
subtext: '截止2022-01-02',
left: 'center'
},
{
text: '40',
textStyle: {
color: '#22ac38',
fontSize: 40
},
itemGap: 20,
left: '46%',
top: '40%'
},
{
text: '总计案件数',
textStyle: {
color: '#444444',
fontSize: 35,
fontWeight: 'normal'
},
itemGap: 20,
left: '41.5%',
top: '50%'
}
],
grid: [
{
top: '10%',
width: '50%',
left: '45%',
containLabel: true
}
],
tooltip: {
trigger: 'item'
},
legend: {
orient: 'vertical',
left: 'left'
},
series: [
{
name: 'Access From',
type: 'pie',
radius: ['50%', '70%'
],
data: [
{ value: 5, name: '故意伤害'
},
{ value: 12, name: '交通肇事'
},
{ value: 12, name: '抢夺'
},
{ value: 5, name: '贪污'
},
{ value: 6, name: '受贿'
}
],
emphasis: {
label: {
show: true,
formatter: '{a|{b
}
}\n{hr|
}\n{c|{c
}
}{u1|件
} {per|{d
}
}{u2|%
}',
rich: {
a: {
color: '#000',
lineHeight: 30,
fontSize: 20,
align: 'left'
},
hr: {
borderColor: '#245ECF',
width: '100%',
borderWidth: 1,
height: 0,
borderType: 'dashed'
},
c: {
lineHeight: 40,
fontSize: 20
},
u1: {
fontSize: 12,
lineHeight: 18
},
per: {
fontSize: 20,
lineHeight: 40
},
u2: {
fontSize: 12,
lineHeight: 18
}
}
},
labelLine: {
length: 0,
length2: 0,
lineStyle: {
// type: 'dashed',
width: 2
// color:'transparent'
}
},
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0,
0,
0,
0.5)'
}
}
}
]
};