[echarts] 柱形图 设置滚动条
Echarts具有自适应的功能,因此当x轴的数据非常多的时候,会自动把柱形的宽度挤的非常细,这样的交互肯定是过不去的。
因此就需要有这样一个属性: dataZoom
想要读详细文档的同学,可以看官方文档:
只是想要简单版的同学,看我的这个简易版本即可: 这就是一个最简单的柱形图,带横向滚动条版本。
option = {
color: [#3398DB],
tooltip : {
trigger: axis,
axisPointer : {
// 坐标轴指示器,坐标轴触发有效
type : shadow // 默认为直线,可选为:line | shadow
}
},
grid: {
left: 3%,
right: 4%,
bottom: 3%,
containLabel: true
},
xAxis : [
{
type : category,
data : [Mon, Tue, Wed, Thu, Fri, Sat, Sun],
axisTick: {
alignWithLabel: true
}
}
],
yAxis : [
{
type : value
}
],
series : [
{
name:直接访问,
type:bar,
barWidth: 60%,
data:[10, 52, 200, 334, 390, 330, 220]
}
],
dataZoom: {
show: true, // 为true 滚动条出现
realtime: true,
type:slider, // 有type这个属性,滚动条在最下面,也可以不行,写y:36,这表示距离顶端36px,一般就是在图上面。
height: 20, // 表示滚动条的高度,也就是粗细
start: 20, // 表示默认展示20%~80%这一段。
end: 80
}
};
echarts通过dataZoom来控制默认显示固定条数数据:5条
xData = this.allData.map((v) => v.value);
// 默认只显示5个柱子
startValue = this.allData[0] ? this.allData[0].value: (this.allData[0] ? this.allData[0].value: 0);
endValue = this.allData[4] ? this.allData[4].value: (this.allData[this.allData.length - 1] ? this.allData[this.allData.length - 1].value: 0);
xAxis : [
{
type : category,
data : xData ,
axisTick: {
alignWithLabel: true
}
}
],
dataZoom: [
{
type: slider,
show: true,
handleSize: 20, // 滑动条的 左右2个滑动条的大小
height: 14, // 组件高度
bottom: 1, // 右边的距离
handleColor: #ddd, // h滑动图标的颜色
startValue: startValue,
endValue: endValue,
handleStyle: {
// 两侧缩放手柄的样式配置。
borderColor: #cacaca,
borderWidth: 1,
shadowBlur: 2,
background: #ddd,
shadowColor: #ddd,
},
backgroundColor: white, // 两边未选中的滑动条区域的颜色
},
// 下面这个属性是拖到里面
{
type: inside,
show: true,
start: 1,
end: 100,
},
],
