echarts柱状图动态数据分页实现
需求:后台返回数据条目不固定,实现柱状图动态分页功能
- 这里先定义假数据11条,比如每页5条,先预处理下timeline的data
var chartData = {
X: ['名称1', '名称2', '名称3', '名称4', '名称5', '名称6', '名称7', '名称8', '名称9', '名称10', '名称11'],
Y1: [460, 490, 400, 530, 500, 500, 490, 400, 530, 500, 500],
Y2: [455, 440, 420, 520, 510, 500, 490, 400, 530, 500, 500],
Y3: [430, 420, 440, 510, 550, 500, 490, 400, 530, 500, 500],
};
// 处理柱状图分页
var pageArr = [];
for (var i = 0; i < Math.ceil(chartData.X.length / 5); i ) {
pageArr.push(i);
}
2.配置基础option参数,需要注意的是,动态数据需要动态追加到options,所以,我们先定义一项options用来配置我们所需要的样式,后面页码直接push到options里会沿用第一项的样式。x、y轴数据用slice方法切出前5项。
var myChart = echarts.init(document.getElementById('loadChart'));
var option = {
timeline: {
data: pageArr,
label: {
formatter: function (s) { return s 1 }, // 数据从0开始,格式化时要加1
},
autoPlay: false,
playInterval: 3000,
top: '0%',
tooltip: { formatter: function (s) { return "第" (s.value 1) "页"; } }
},
options: [
{
color: ['#a4c4bf', '#1b9a9c', '#007abb'],
tooltip: {
trigger: 'axis',
},
legend: {
data: ["当前潮流", "稳定限额", "控后潮流"],
right: '2%',
icon: "rect",
itemWidth: 14,
textStyle: {
fontSize: 16,
},
},
calculable: true,
grid: {
left: '2%',
right: '2%',
bottom: '2%',
containLabel: true
},
xAxis: [
{
type: 'category',
data: chartData.X.slice(0, 5),
axisTick: {
alignWithLabel: true
},
axisLabel: {
fontSize: 16,
interval: 0
},
}
],
yAxis: [
{
type: 'value',
axisLabel: {
fontSize: 16,
},
splitLine: {
show: true,
lineStyle: {
type: "dashed",
color: "#007173",
},
},
}
],
series: [
{
'name': '当前潮流', 'type': 'bar', 'barWidth': '18%',
'data': chartData.Y1.slice(0, 5)
},
{
'name': '稳定限额', 'type': 'bar', 'barWidth': '18%',
'data': chartData.Y2.slice(0, 5)
},
{
'name': '控后潮流', 'type': 'bar', 'barWidth': '18%',
'data': chartData.Y3.slice(0, 5)
}]
},
]
};
3.把数据切成每5条一组,push到option的options里面
// 切分数据每5个一组
for (var i = 1; i < pageArr.length 1; i ) {
var obj = {
series: [
{ 'data': chartData.Y1.slice(i * 5, i * 5 5) },
{ 'data': chartData.Y2.slice(i * 5, i * 5 5) },
{ 'data': chartData.Y3.slice(i * 5, i * 5 5) }
],
xAxis: [{ 'data': chartData.X.slice(i * 5, i * 5 5) }]
}
option.options.push(obj);
}
myChart.setOption(option);
4.赋上效果图
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhcihkkj
系列文章
更多
同类精品
更多
-
微信小程序没声音怎么办
PHP中文网 06-15 -
excel图片置于文字下方的方法
PHP中文网 06-27 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
微信人名旁边有个图标有什么用
PHP中文网 03-11 -
微信提示登录环境异常是什么意思原因
PHP中文网 04-09 -
微信获取用户openid失败怎么办
PHP中文网 03-26 -
photoshop怎么把印章抠出并放在另一张图上
PHP中文网 06-15 -
EhViewer(E绅士)最新版_ehviewer白色版彩色版_Ehviewer显示网络错误怎么办?e站进不去了怎么办
Evanpatchouli 09-19 -
Excel筛选和排序是灰色的怎么办
PHP中文网 06-22 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24