Я создал диаграмму с помощью chart.js, и она работает, как и ожидалось. Проблема в том, что мне не нужны метки оси x (скорость). Я смотрел на вопросы, подобные этому, но ни один из них не работал. Как скрыть метки оси X, не удаляя и не изменяя ничего другого в chart.js v3?
Как удалить метки шкалы оси X Chart.Js
comment
Эта диаграмма непреднамеренно забавна. Как быстро это происходило? Скорость.
- person Deadron   schedule 21.04.2021
comment
@Deadron Я пробовал это, но, похоже, это не сработало
- person PythonCoder   schedule 21.04.2021
comment
Вопрос дублирует следующее, чем тот, для которого он был закрыт: stackoverflow.com/questions/23424123/
- person Charlie   schedule 22.04.2021
comment
@Charlie Я посмотрел и проверил ответы в посте, но ничего не сработало.
- person PythonCoder   schedule 05.05.2021
comment
Решения, приведенные в обоих ответах, работают. Принятый ответ выполняется на самой этой странице и не содержит меток X.
- person Charlie   schedule 06.05.2021
comment
я пробовал решения, прежде чем опубликовать это, и они не работают для меня @Charlie
- person PythonCoder   schedule 06.05.2021
comment
Это означает, что у вас есть другая ошибка, чем то, что вы разместили здесь. Вы можете увидеть, как это работает, если вы запустите ответ @LeeLenalees прямо на странице.
- person Charlie   schedule 06.05.2021
comment
@Charlie большинство не выдало ошибки
- person PythonCoder   schedule 06.05.2021
comment
Ответ @LeeLenaLees не был в возможном дублирующемся ответе
- person PythonCoder   schedule 06.05.2021
Ответы (2)
Вы можете сделать две вещи: либо предоставить массив меток с пустыми строками, либо использовать обратный вызов тика для предоставления пустых меток.
scales: {
x: {
ticks: {
// Include a dollar sign in the ticks
callback: function(value, index, values) {
return '';
}
}
}
}
Пример:
var options = {
type: 'line',
data: {
// option 1, provide empty strings for labels array
labels: ["", "", "", "", "", ""],
datasets: [{
label: '# of Votes',
data: [12, 19, 3, 5, 2, 3],
borderWidth: 1
},
{
label: '# of Points',
data: [7, 11, 5, 8, 3, 7],
borderWidth: 1
}
]
},
options: {
scales: {
x: {
ticks: {
//option 2, use callback to change labels to empty string
callback: () => ('')
}
}
}
}
}
var ctx = document.getElementById('chartJSContainer').getContext('2d');
new Chart(ctx, options);
<body>
<canvas id="chartJSContainer" width="600" height="400"></canvas>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.1.1/chart.js" integrity="sha512-aWx9jeVTj8X49UzUnUHGIlo6rNne1xNsCny/lL0QwUTQK2eilrHXpSk9xbRm4FJ4eLi2XBmnFlRkWPoChSx8bA==" crossorigin="anonymous"></script>
</body>
person
LeeLenalee
schedule
21.04.2021
Просто отключите метки оси x одним флагом, например:
options: {
scales: {
x: {
ticks: {
display: false
}
}
}
}
person
Charlie
schedule
21.04.2021
Не будет работать, chart.js нужны метки для сопоставления данных, поэтому отсутствие этого массива и только массив чисел для данных ничего не показывает.
- person LeeLenalee; 21.04.2021
@LeeLenalee Вы правы. Ответ отредактирован.
- person Charlie; 22.04.2021
Я пробовал это, но это не сработало
- person PythonCoder; 05.05.2021