13

Вопрос по javascript – Как получить High-Charts X-Axis Категории, начиная с крайней левой точки

У меня есть диаграмма области Highcharts с категориями строк на оси X. Я хочу, чтобы диаграмма начиналась у самого левого края оси X и заканчивалась у самого правого края без каких-либо отступов. На изображении ниже красные стрелки показывают интервал, от которого я хочу избавиться. Без текстовых категорий это легко достижимо, но я просто не могу понять это. Любая помощь приветствуется, спасибо.

Chart with unwanted padding

Решения либо слишком сложны, либо ненадежны. Высокие диаграммы должны обеспечивать простую «площадку» свойство, как и большинство других библиотек диаграмм.

Mar 22, 2017, 11:57 PMот

Удачи с этим? Я тоже пытаюсь понять это и не смог заставить что-либо работать.

Nov 21, 2012, 11:45 PMот

5ответов

3

Более чистым решением является использованиеpointPlacement ссылка предоставлена вHighchart API.

добавлятьpointPlacement: 'on' и ты должен быть в бизнесе. (Для справки,вот их пример JSFiddle)

0

Вам нужны следующие настройки.

xAxis: {           
  plotLines: [{
    value: 0, 
    color: '#color'
  }],
  tickmarkPlacement: 'on'
},
yAxis: {           
  lineWidth: 0,
}
15

Вы можете достичь желаемого результата, переопределив label.formatter по оси.jsFiddle это здесь.

Но если вы хотите сохранить простоту и передатьaxis.categories традиционным способом (я думаю, что это намного лучше), я предлагаю вам использовать крошечный хак и переопределитьAxis.init функция. ПримерьjsFiddle.

UPD: Я немного обновил свою предыдущую скрипку.Проверьте это, Я думаю, что вы можете объединить все мои решения, чтобы получить лучшее.

4

Вы можете использовать spacingLeft и spacingRight, чтобы установить интервал:

chart: {
         renderTo: 'chart1',
         type: 'area',
         spacingLeft: -21,      
         spacingRight: -21,      
         spacingBottom: 1
},
2

Просто добавь:

...
xAxis: {
  startOnTick: true,
  ...
},
...

RelatedQuestions