2

至少在 amCharts 4 中,图表宽度似乎取决于 valueAxis 标签的长度(例如,位数)。例如,以这个 codepen中的图表为例。顶部图表标签的精度设置为 8,底部图表的最大位数为 5 位(例如,“10,000”为最大值),底部图表的宽度可以通过以下方式等于顶部图表的宽度包括以下内容:

valueAxis2.marginLeft = "32px";

但是,如果底部图表的 valueAxis 标签中的位数发生变化,则左边距不再正确。例如,取消注释第 22 行以查看此内容。如何使图表宽度与 valueAxis 标签长度无关?

这个答案讨论了 amCharts 3 的解决方案,但 amCharts 4 中似乎没有 minMarginLeft 属性。

4

1 回答 1

1

好问题。我强烈建议查看我们的使用容器指南最后一部分说明了 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

屏幕截图(无需使用边距!):

相邻图表的屏幕截图,它们的 yaxes 宽度相同

于 2019-04-16T03:14:39.960 回答