#javascript #chart.js #react-chartjs
Вопрос:
Я использую react-chartjs https://www.npmjs.com/package/react-chartjs-2
То, что я пытаюсь сделать, это:
У меня есть куча ярлыков и я изменяю их, чтобы они отображались в соответствии с тем, что я хочу. На оси x я хочу отображать дату еженедельно:
Я показываю вот так:
Но по мере увеличения диапазона дат я буду показывать месяцы.
Видите ли, я покажу январь 2017 года (название месяца и название года), которое поможет нам различать месяцы. Я добиваюсь этого, отключая автозапуск и записывая логику в
let options = { maintainAspectRatio: false,
spanGaps: true,
legend: {
display: false,
},
scales: {
xAxes: [
{
gridLines: {
color: "rgba(0, 0, 0, 0)",
},
ticks: {
beginAtZero: true,
autoSkip: false
},
afterTickToLabelConversion: function (data) {
//custom label hiding logic goes here
},
},
],
yAxes: [
{
ticks: {
beginAtZero: true,
userCallback: function (label, index, labels) {
if (Math.floor(label) === label) {
return label;
}
},
},
},
],
},
tooltips: {
callbacks: {
title: '',
},
},
elements: {
line: {
tension: 0,
},
},
}
Но проблема в том, что этикетки не выглядят однородными. Ну, преимущество наличия autoskip (autoskip:правда) заключается в том,что метки, как правило, выглядят одинаково, но они, как правило, скрывают важные метки, такие как год (январь 2017 г.), которые должны быть обязательно отображены, поскольку это помогает мне различать месяцы года.
- Я хотел бы знать, есть ли какой-то способ, с помощью которого мы можем включить автозапуск и убедиться, что определенные значения могут отображаться в обязательном порядке, что гарантирует, что они не будут пропущены. (Прочитайте использование major в документах, но не можете его использовать).
- Когда включен автоматический пропуск, он может пропустить много значений и разбросать метки, пожалуйста, предложите хороший способ убедиться, что у меня есть равномерное отображение значений, происходящее через регулярные промежутки времени, даже когда точки данных увеличиваются, и я также не пропускаю отображение важных меток, таких как (январь, 2017). Это должно быть сделано на заказ , но если есть функция библиотеки, которая могла бы помочь мне в этом процессе, я был бы очень признателен.