Как изменить форматирование Highcharts xAxis с ежегодного на ежемесячное?

У меня есть следующие данные 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 марта...?

Если вы сделаете просто "month": "%b", что произойдет?

Calvin Godfrey 29.05.2019 20:27

@CalvinGodfrey это все еще видно спустя годы. По сути, даже если я удалю параметр dateTimeLabelFormats, он все равно будет в годах.

Ashish Verma 29.05.2019 20:29
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
118
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как кажется, работает highcharts, так это то, что он определяет, какой временной диапазон использовать (миллисекунды, секунды и т. д., вплоть до лет), а затем проверяет ЭТУ конкретную опцию для форматирования.

Таким образом, предположительно ваши данные разбросаны достаточно далеко, чтобы по умолчанию они были годами, поэтому, чтобы изменить используемое форматирование, вы хотите сделать "year": "%b %y".

При этом к году добавляется месяц «Ян». например: ранее это был 2010, 2011, 2012. Теперь это январь 2010, январь 2011, январь 2012 и т. д.

Ashish Verma 29.05.2019 20:36

Вы уверены, что пишете y в нижнем регистре? %Y делает это 2010, 2011 и т. д., но %y должно быть 10, 11 и т. д.

Calvin Godfrey 29.05.2019 20:37

Да, плохо, но проблема все еще существует. Показывает 10 января, 11 января, 12 января, но я хочу 10 января, 10 февраля, 10 марта..

Ashish Verma 29.05.2019 20:40

Итак, вы хотите включить месяц каждый по оси X? Даже если это сделает ось сгруппированной?

Calvin Godfrey 29.05.2019 20:41

Да, это то, что мне нужно

Ashish Verma 29.05.2019 20:44

Вы можете добавить tickInterval: 1000 * 3600 * 24 * 31, чтобы получить тиковые интервалы в месяц, но даже в этом случае он может быть слишком сгруппирован, чтобы показывать только каждый второй или каждый третий месяц.

Calvin Godfrey 29.05.2019 20:46

Похоже, это может быть случай ху проблема. Почему важно получать клеща каждый месяц?

Calvin Godfrey 29.05.2019 20:50

Да, вы правы, поскольку интервалов слишком много, на xAxis ничего не отображается. Я не уверен, что он должен что-то показывать, но поскольку я установил tickInterval, я думаю, поэтому xAxis ничего не отображает, поэтому я, вероятно, буду придерживаться годовых интервалов. Спасибо за разъяснение, просто из любопытства, есть ли обходной путь для создания месячных интервалов, даже если они сгруппированы?

Ashish Verma 29.05.2019 21:37

Я пытался возиться с minTickInterval, но, похоже, ему не нравятся галочки даты и времени. Вы можете порыться в этот сайт, чтобы узнать, есть ли какие-либо другие атрибуты, которые вы могли бы использовать.

Calvin Godfrey 29.05.2019 21:39

Просто для обновления я нашел обходной путь, поработав с tickPixelInterval и minTickInterval. Спасибо. Я отмечу ваш ответ принятым, поскольку он прояснил мое замешательство по поводу месяцев.

Ashish Verma 29.05.2019 22:16

Другие вопросы по теме