HighCharts - пропустить дату последовательно
-
28-09-2019 - |
Вопрос
Поэтому я вытягиваю некоторые данные из базы данных и получите метки UNIX и номер. Так что позволяет сказать N (число) было продано на d (дата).
Есть дни отсутствуют, как выходные. Мне нужно, чтобы все еще отображать день, но не требуют никаких данных. Это линия диаграммы.
1 апреля 2010, 50 продан
2 апреля 2010, 53 продано
7 апреля 2010, 10 продан
(У меня есть более 1000 записей, охватывающих несколько лет - так что я добавлю масштабирование)
Таким образом, график все еще должен показать 1-7 апреля, но не имею данных для 3-6. (линия только что пойдет от 2-7).
Есть идеи, как это сделать?
Спасибо, Джош
Решение
Посмотрите здесь: http://highcharts.com/ref/#series. Второй пример свойства «Данные».
Вам просто нужно преобразовать дату MySQL, преобразуйте его в Timestamp Unix (Unix_timestamp ()), а затем умножьте его на 1000 (JS нужна время в микросекундах) ...
Другие советы
Масштабируйте ось X ваших данных, когда вы создаете диаграмму, чтобы подсчитать только дни, когда у вас есть хотя бы одна продажа, и просто убедитесь, что ваша ось обозначена разумно.
Это означало бы вступление в течение всего набора данных и обеспечения его последовательных чисел. Так что не может быть ужасно эффективным и, безусловно, может принести пользу для предварительной обработки (другой ключ в вашей базе данных для «Дня продажи» или что-то в этом роде).
Если возможно, тогда вы можете показать мне свой код.
Может быть, эта ссылка даст вам некоторую помощь.Demo для уточнения NULL для заданной даты: http: //jsfiddle.net/highcharts/fgrtd/
Вы можете построить свои данные как обычные данные Y и использовать Fixter на оси X
dates = ['April 1 2010', 'April 2 2010', 'April 7 2010'];
numSold = [50, 53, 10];
chart = new Highcharts.Chart({
series: [{
type: 'line',
data: numSold
}],
xAxis: {
labels: {
formatter: function() {
var dateStr = dates[this.value];
return dateStr;
}
}
}
});