У меня есть следующие данные JSON Highcharts:
"xAxis": {
"type": "datetime",
"dateTimeLabelFormats": {
"month": "%b %y"
},
"labels": {
"style": {
"color": "#000000",
"fontWeight": "normal",
"font-size": "100%",
"font-family": "sans-serif"
}
}
},
Я хочу разбить xAxis на месяцы, но я все еще получаю xAxis в годах (2010, 2012, 2012...).
Как изменить его на что-то вроде 10 января, 10 февраля, 10 марта...?
@CalvinGodfrey это все еще видно спустя годы. По сути, даже если я удалю параметр dateTimeLabelFormats, он все равно будет в годах.
Как кажется, работает highcharts, так это то, что он определяет, какой временной диапазон использовать (миллисекунды, секунды и т. д., вплоть до лет), а затем проверяет ЭТУ конкретную опцию для форматирования.
Таким образом, предположительно ваши данные разбросаны достаточно далеко, чтобы по умолчанию они были годами, поэтому, чтобы изменить используемое форматирование, вы хотите сделать "year": "%b %y"
.
При этом к году добавляется месяц «Ян». например: ранее это был 2010, 2011, 2012. Теперь это январь 2010, январь 2011, январь 2012 и т. д.
Вы уверены, что пишете y в нижнем регистре? %Y
делает это 2010, 2011 и т. д., но %y
должно быть 10, 11 и т. д.
Да, плохо, но проблема все еще существует. Показывает 10 января, 11 января, 12 января, но я хочу 10 января, 10 февраля, 10 марта..
Итак, вы хотите включить месяц каждый по оси X? Даже если это сделает ось сгруппированной?
Да, это то, что мне нужно
Вы можете добавить tickInterval: 1000 * 3600 * 24 * 31
, чтобы получить тиковые интервалы в месяц, но даже в этом случае он может быть слишком сгруппирован, чтобы показывать только каждый второй или каждый третий месяц.
Похоже, это может быть случай ху проблема. Почему важно получать клеща каждый месяц?
Да, вы правы, поскольку интервалов слишком много, на xAxis ничего не отображается. Я не уверен, что он должен что-то показывать, но поскольку я установил tickInterval, я думаю, поэтому xAxis ничего не отображает, поэтому я, вероятно, буду придерживаться годовых интервалов. Спасибо за разъяснение, просто из любопытства, есть ли обходной путь для создания месячных интервалов, даже если они сгруппированы?
Я пытался возиться с minTickInterval
, но, похоже, ему не нравятся галочки даты и времени. Вы можете порыться в этот сайт, чтобы узнать, есть ли какие-либо другие атрибуты, которые вы могли бы использовать.
Просто для обновления я нашел обходной путь, поработав с tickPixelInterval и minTickInterval. Спасибо. Я отмечу ваш ответ принятым, поскольку он прояснил мое замешательство по поводу месяцев.
Если вы сделаете просто
"month": "%b"
, что произойдет?