2013-03-23 4 views
14

Я строю презентацию данных, где две диаграммы Highcharts уложены вертикально и предназначены для совместного использования одинаковых единиц оси x и выравнивания. Как так:Исправлена ​​ширина меток оси Y в Highcharts

Stacked Highcharts

Обратите внимание, что поскольку диапазоны у-осей различны для двух карт, по оси у метки различная ширина и, таким образом, диаграммы сами немного разная ширина, нарушающая хорошая ось х выравнивание.

Было бы здорово зафиксировать ширину диаграммы (или, наоборот, метки оси Y), чтобы обеспечить выравнивание двух диаграмм. Я исследовал api и немного поиграл с настройкой стиля непосредственно на различные сгенерированные элементы, но не повезло. Кажется возможным, возможно, достичь этой цели, используя собственный формат форматирования ярлыков, но форматировщик акций (как, если я не определяю ничего обычая), работает достаточно хорошо для сокращения больших чисел и т. Д.

Идеи относительно того, как исправить диаграмму или ширину ярлыка оси Y?

+0

Изображение отсутствует здесь. Вы решили свою проблему? Было ли предложено какое-либо из предлагаемых решений? Я заинтересован. – Jerome

+0

У меня было аналогичное требование, чтобы показать несколько диаграмм с одинаковым выравниванием по оси Y, решение @Torstein Hønsi отлично работает. – rajarshig

ответ

1

Немного Hacky способом, но должно работать:

  • набор для обоих XAxis width, например, 400px
  • комплект для всей оси (xAxis и yAxis) right, например. 20px

Теперь YAxis должны иметь одинаковую ширину, а также ту же крайность и т.д.

Другие (и, возможно, даже лучше) решение заключается в использовании двух панелей для Highcharts. Он работает точно так же, как и в Highstock, см. Пример: http://www.highcharts.com/stock/demo/candlestick-and-volume

+0

Спасибо за идеи! Для хакерского способа я не уверен, что следую - api docs не показывают никаких атрибутов ширины или справа для xAxis или yAxis. И когда я устанавливаю ширину: «400 пикселей» или аналогичный для xAxis, ничего не рисуется для содержимого диаграммы. Двухслойный sln выглядит так, как будто он может хорошо работать, но потребовал бы немного реструктуризации в существующих компонентах, поэтому он был бы полезен, но в идеале это был бы взломанный способ. – qfinder

+0

Создайте пример jsFiddle, с которым мы можем работать. Он должен работать. –

20

Если вы установили опцию chart.marginLeft, она будет переопределять метки автоматического размера, чтобы оси Y были выровнены.

1

Это поздний ответ, но теперь вы можете делать несколько диаграмм внутри одного и того же объекта Highcharts. Вам не пришлось бы вручную пытаться заставить оси Y выравниваться при использовании этого метода, так как Highcharts выполнит всю работу за вас.

http://www.highcharts.com/demo/combo

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