Javascript echarts:dataZoom滑块不';无法显示正确的数据预览

Javascript echarts:dataZoom滑块不';无法显示正确的数据预览,javascript,zooming,echarts,Javascript,Zooming,Echarts,我正在尝试用echarts创建一个可缩放的折线图。图表应显示最初只有5天。我使用数据缩放类型“inside”和“slider”。但是滑块框没有正确显示 我对代码做了一些修改,但无法解决此问题 这是我的密码: var myChart=echart.init(document.getElementById('main'); 选项={ xAxis:{ 键入:“时间”, }, 亚克斯:{ 类型:“值”, 分:0,, 最多:10 }, 数据缩放:[ { 键入:“滑块”, 秀:没错, xAxisIndex

我正在尝试用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(选项)
是的,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
<代码>起始值-结束值
开始-结束
不能根据其文档进行混合。