amCharts 4 - Как сделать ширину диаграммы равной разной длине - PullRequest
2 голосов
/ 13 апреля 2019

По крайней мере, в amCharts 4 ширина диаграммы зависит от длины (например, количества цифр) меток значения оси.Например, возьмите диаграммы в этом коде .Если метки верхней диаграммы установлены с точностью до 8, а нижняя диаграмма имеет максимум 5 цифр (например, «10000» как максимум), то ширина нижней диаграммы может быть сделана равной ширине верхней диаграммы с помощьювключая следующее:

valueAxis2.marginLeft = "32px";

Однако, если количество цифр в метках значений оси A на нижнем графике изменяется, то левое поле больше не является правильным.Например, раскомментируйте строку 22, чтобы увидеть это.Как можно сделать ширину диаграммы равной независимо от длины метки valueAxis?

В этом ответе обсуждается решение для amCharts 3, но в amCharts 4 отсутствует свойство minMarginLeft..

1 Ответ

1 голос
/ 16 апреля 2019

Хороший вопрос.Я настоятельно рекомендую ознакомиться с нашим Руководством по работе с контейнерами . В последнем разделе показаны предопределенные контейнеры для XYCharts .

Любые оси y, отображаемые слева, будут в chart.leftAxesContainer, поэтому вы можете установить их одинаковую ширину на каждойдиаграмма, например

// Top chart's left y axis is around 96px (checked via its measuredWidth)
chart1.leftAxesContainer.width = 100;
chart2.leftAxesContainer.width = 100;

Вот ответвление:

https://codepen.io/team/amcharts/pen/a0a990fa6420b446508770ccae40ca7d

Снимок экрана (не требуется играть с полями!):

screenshot of charts adjacent to each, their yaxes are the same width

...