Javascript echarts:dataZoom滑块不';无法显示正确的数据预览
我正在尝试用echarts创建一个可缩放的折线图。图表应显示最初只有5天。我使用数据缩放类型“inside”和“slider”。但是滑块框没有正确显示 我对代码做了一些修改,但无法解决此问题 这是我的密码: var myChart=echart.init(document.getElementById('main'); 选项={ xAxis:{ 键入:“时间”, }, 亚克斯:{ 类型:“值”, 分:0,, 最多:10 }, 数据缩放:[ { 键入:“滑块”, 秀:没错, xAxisIndex:[0], startValue:‘2019-10-21 00:00:00’, 结束值:“2019-10-2812:35:06”, 最小值跨度:3600*24*1000*7, filterMode:“过滤器” }, { 键入:“内部”, xAxisIndex:[0], startValue:‘2019-10-21 00:00:00’, 结束值:“2019-10-2812:35:06”, 最小值跨度:3600*24*1000*7, filterMode:“过滤器” }, ], 系列:[{ 数据:[ {name:'2019-10-2812:35:06',值:['2019-10-2812:35:06',null]}, {name:'2019-10-15 12:35:06',值:['2019-10-15 12:35:06',6]}, {name:'2019-10-10 12:35:06',值:['2019-10-10 12:35:06',8]}, {name:'2019-10-0512:35:06',值:['2019-10-0512:35:06',10]}, {name:'2019-10-01 12:35:06',值:['2019-10-01 12:35:06',1]}, {name:'2019-09-2812:35:06',值:['2019-09-2812:35:06',4]}, {name:'2019-09-20 12:35:06',值:['2019-09-20 12:35:06',5]}, {name:'2019-09-1512:35:06',值:['2019-09-1512:35:06',0]}, {name:'2019-09-1012:35:06',值:['2019-09-1012:35:06',1]}, {name:'2019-09-09 12:35:06',值:['2019-09-09 12:35:06',0]}, {name:'2019-09-08 12:35:06',值:['2019-09-08 12:35:06',5]}, {name:'2019-09-0512:35:06',值:['2019-09-0512:35:06',9]}, {name:'2019-09-01 12:35:06',值:['2019-09-01 12:35:06',3]}, {name:'2019-08-0312:35:06',值:['2019-08-0312:35:06',2]}, {name:'2019-08-02 12:35:06',值:['019-08-02 12:35:06',5]}, {name:'2019-08-01 12:35:06',值:['019-08-02 12:35:06',7]}, ], 键入:“行”, }, ] }; myChart.setOption(选项)代码>Javascript echarts:dataZoom滑块不';无法显示正确的数据预览,javascript,zooming,echarts,Javascript,Zooming,Echarts,我正在尝试用echarts创建一个可缩放的折线图。图表应显示最初只有5天。我使用数据缩放类型“inside”和“slider”。但是滑块框没有正确显示 我对代码做了一些修改,但无法解决此问题 这是我的密码: var myChart=echart.init(document.getElementById('main'); 选项={ xAxis:{ 键入:“时间”, }, 亚克斯:{ 类型:“值”, 分:0,, 最多:10 }, 数据缩放:[ { 键入:“滑块”, 秀:没错, xAxisIndex
是的,Echart没有这样的功能,我也有同样的场景。您需要获取
内部缩放级别
,并根据您的时间计算缩放级别,并更新内部缩放级别
例如:
// This initial zoom level
const dataZoom = [
{
type: 'inside',
start: 0,
end: 100
},
{
start: 0,
end: 10,
handleSize: '80%'
}
]
当您的时间发生变化时,您需要获取数据缩放并找出开始
和结束
缩放级别,然后将其设置为dataZoom
const end = 100 // always 100%
const totalTime = new Date(lastIndexOfYourDataTime).getTime() - new Date(firstIndexOfYourDataTime).getTime() // Calculate total Data time band.
const start = 100 - ((5 Days time here(in ms) / totalTime) * 100) // you will get the start zoom level.
dataZoom[0].start = start
dataZoom[0].end = end
您不能使用startValue
和endValue
来提供实际的x轴值而不是百分比吗?如果在dataZoom中使用startValue endValue
,您可以使用它,但在我的例子中,我使用的是开始和结束百分比,所以我应该使用start
和end
<代码>起始值-结束值
和开始-结束
不能根据其文档进行混合。