настраиваемое форматирование highcharts datetime по оси x

#javascript #ruby-on-rails #highcharts

#javascript #ruby-on-rails #highcharts

Вопрос:

Я хотел бы, чтобы в качестве оси x была указана только первая буква каждого дня недели, т.Е. M T W T F S S повторяется. В настоящее время вы можете установить dateTimeLabelFormats , который я настроил для использования %a , который является форматом даты для короткого дня недели (пн, вт, Ср и т. Д.). Как я могу просто использовать первую букву?

Вот мой код (я использую ленивые диаграммы в rails)

  f.xAxis({type: 'datetime', tickInterval: 24*3600*1000, dateTimeLabelFormats: {
        day: '%a',
        week: '%a'}
        })
  

Спасибо.

Ответ №1:

В label -> formatter для xAxis используйте функцию DateFormat, чтобы получить месяц, а затем используйте функцию substring, чтобы получить первую букву и вернуть эту букву следующим образом —

 xAxis: {        
    type: 'datetime',
    labels: {
        formatter: function() {
            var monthStr = Highcharts.dateFormat('%b', this.value);
            var firstLetter = monthStr.substring(0, 1);
            return firstLetter;
        }
    }
},
  

Смотрите это на jsfiddle

Комментарии:

1. Спасибо за предупреждение. Эта скрипка зависит от библиотеки Highcharts, и ссылка на файл js больше не доступна. Но нашел файл в их новом CDN. Теперь он снова работает. 🙂

2. Можно ли как-то добавить день недели (sun.mon и т. Д.) К метке оси x вместе с датой и месяцем???

3. @Nisha: Это обязательно должно быть возможно. Но вы должны задать свой собственный вопрос. 😉

4. Я узнал.. это возможно .. было просто немного лениво задавать вопрос 🙂