2011-10-14 3 views
10

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

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

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

Спасибо.

ответ

19

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

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

See it on jsfiddle

+0

jsfiddle не работает –

+2

Спасибо за головы. Эта скрипка зависит от библиотеки Highcharts и ссылки js-файла больше не доступны. Но нашел файл в новом CDN. Теперь он снова работает. :) –

+0

Может ли день недели (sun.mon и т. Д.) Быть добавлен каким-то образом к метке оси x вместе с датой и месяцем ??? – Nisha

Смежные вопросы