#javascript #graph #charts #chart.js #linechart
Вопрос:
Я хочу показать график с помощью диаграммы js , где график начнется с 9 утра и закончится в 10 вечера, данные будут отображаться в определенное время. например, данные поступают с 2 часов дня, поэтому они сделают первые несколько шагов на графике, а затем покажут точку на графике . каждый шаг будет выполняться с интервалом в 30 минут. Но в xAxis весь шаг будет виден с интервалом в 30 минут. см. Пример изображения. Спасибо
Вот данные выглядят так
{
id: 1,
insertDate: '2021-06-07T05:32:57.0283049 00:00',
value: 13,
},
{
id: 2,
insertDate: '2021-06-07T05:32:57.0283049 00:00',
value: 15,
}
Ответ №1:
Вы можете использовать минимальное и максимальное значение шкалы, чтобы шкала начиналась и заканчивалась позже:
Пример:
var data = [{
"t": 1622287843965,
"y": "35181.38"
},
{
"t": 1622288064247,
"y": "35779.44"
},
{
"t": 1622288261196,
"y": "35681.55"
},
{
"t": 1622288644294,
"y": "35552.49"
}
];
var ctx = document.getElementById('chartJSContainer');
const chartInstance = new Chart(ctx, {
type: "line",
data: {
datasets: [{
label: `Price`,
data: data,
backgroundColor: "rgba(134,159,152, 1)",
borderColor: "rgba(174, 305, 194, 0.4)"
}],
},
options: {
parsing: {
yAxisKey: 'y',
xAxisKey: 't',
},
scales: {
x: {
display: true,
type: 'time',
min: 1622287643465,
max: 1622288844294
}
},
}
});
<script src="https://cdn.jsdelivr.net/npm/chart.js@3.3.1/dist/chart.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/chartjs-adapter-moment@1.0.0/dist/chartjs-adapter-moment.min.js"></script>
<canvas id="chartJSContainer" width="600" height="400"></canvas>
Документация: https://www.chartjs.org/docs/master/axes/cartesian/time.html#common-options-to-all-axes
Комментарии:
1. Мой api возвращает данные вот так, как я буду использовать этот формат даты? Мне нужно показать значение и вставить дату [{«id»:»2″,»insertDate»:»2021-06-15T12:31:00″,»value»:»3″,»description»:null,»source»:null},{«id»:»1″,»insertDate»:»2021-06-15T10:31:00″,»value»:»2″,»description»:null,»source»:null}]