lightweight-charts: timeScale() изменяет visibleRange на setData()

Мне нужно загружать данные, пока они не заполнят видимую область. Но наsetDataграфик изменяет видимую область, что приводит к бесконечной загрузке данных. Выглядит это примерно так https://jsfiddle.net/beholderrk/916g3tcf/3/

Есть ли способ, чтобы setData не приводила к сдвигу видимой области timeScale()?

2 ответа

Похоже, есть ошибка при установке данных через setDataи библиотека перемещает видимый диапазон, и я думаю, что этого не должно быть (он должен работать так же, как если бы у вас была видимая последняя полоса). Я предлагаю вам зарегистрировать проблему на github, чтобы мы могли отметить ее как ошибку и исправить в будущих версиях.

Я раздвоил скрипку с тем, чего, как мне кажется, вы хотите достичь. Вам просто нужно добавить:

chart.applyOptions({
  priceScale:{
    autoScale: false,
  }
})

после объявления. Я также добавил раздел с комментариями на случай, если вы захотите изменить шкалу цен:

// To set a different scale
  /*autoscaleInfoProvider: () => ({
    priceRange: {
      minValue: 170,
      maxValue: 300,
    },
  }),*/

Однако я не нашел условий, при которых анимация останавливается. Только когда вы нажимаетеstopкнопка. Вам нужно будет добавить эту часть.

Другие вопросы по тегам