строка произвольной диаграммы — ограниченные входные данные XScale смещение

#input #limit #anychart

#ввод #ограничение #произвольная диаграмма

Вопрос:

Максимальное количество данных на экране — 31 точка смещение. На моем входе у меня 50 баллов. Как установить больше?

Изображение Изображение

Код JavaScript и более подробная информация здесь
Пример Похоже, что ваш пост в основном состоит из кода; пожалуйста, добавьте еще несколько деталей.

AxisX — это дни, проблема здесь

 //array
arr = []
for (let i = 0; i < 50; i  ) {
    arr.push(i)
}
//object x y
const data = []

const time = new Date().getTime();
const oneDay = 1000*60*60*24

for (let i = 0; i < arr.length; i  ) {

    const day = new Date( time   ( oneDay * (i 1) ) );   
    const currentDate = day.getDate()

    data.push( { 
        x: 'day: '   currentDate,
        y: arr[i]
    } );
}

// create line chart
chart = anychart.line();
// set chart padding
chart.padding([5, 5, 5, 5]);
// turn on chart animation
chart.animation(false);
// turn on the crosshair
chart.crosshair(false);
// set chart title text settings
const name = 'Name'
chart.title(name);
// set y axis title
chart.yAxis().title('Price');
chart.xScale()
var series;
series = chart.line(data);
series.name('series name');
series.labels().enabled(true).anchor('right-bottom').padding(2);
series.labels().enabled(true).anchor('left-bottom').padding(2);
series.markers(true);
// turn the legend on
chart.legend().enabled(true).fontSize(11).padding([0, 0, 10, 0]);
chart.container('chartContainer');
chart.draw();

 

Комментарии:

1. Можете ли вы предоставить полный код конфигурации диаграммы и точные данные? Предоставленный вами код не соответствует результату на скриншоте. Код с линейным массивом в данных дает следующий результат — игровая площадка. anychart.com/gdb88sP6

2. я обнаружил проблему, если я отправляю данные в дни AxisX, в дни изображений просто копирую прошлое

3. arr = [] for (let i = 0; i < 50; i ) { arr.push(i) } const data = [] const time = new Date().getTime(); const oneDay = 1000*60*60*24 for (let i = 0; i < arr.length; i ) { const day = new Date( time ( oneDay * (i 1) ) ); const currentDate = day.getDate() data.push( { x: 'day: ' currentDate, y: arr[i] } ); }

Ответ №1:

Это происходит потому, что вы используете декартову диаграмму, для которой по умолчанию XScale является порядковым номером. Порядковая шкала работает с категориями, она предполагает, что все категории уникальны. Но ваш набор данных включает в себя категории удвоения, такие как day: 19 , day: 20 , и т.д. Таким образом, следующая точка с тем же именем категории переопределяет предыдущую. В вашем случае вы должны использовать масштаб даты и времени и реальные координаты даты и времени X (строковая дата, временная метка в мс, объект класса даты). Подробности см. в статье.