amCharts 4 - 如何使图表宽度与不同长度的 ValueAxis 标签相等
amCharts 4 - How To Make Chart Widths Equal With Different Length ValueAxis Labels
至少在 amCharts 4 中,图表宽度似乎取决于 valueAxis 标签的长度(例如,位数)。例如,以 this codepen 中的图表为例。将顶部图表标签的精度设置为 8,底部图表的最大值为 5 位(例如,最大值为“10,000”),底部图表的宽度可以等于顶部图表的宽度,方法是包括以下内容:
valueAxis2.marginLeft = "32px";
但是,如果底部图表的 valueAxis 标签中的位数发生变化,则左边距不再正确。例如,取消注释第 22 行可以看到这一点。如何独立于 valueAxis 标签长度使图表宽度相等?
讨论了 amCharts 3 的解决方案,但 amCharts 4 中似乎没有 minMarginLeft 属性。
好问题。我强烈建议您查看我们的 Working with Containers guide. The last section illustrates the pre-defined Containers for 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
截图(不需要边距播放!):
至少在 amCharts 4 中,图表宽度似乎取决于 valueAxis 标签的长度(例如,位数)。例如,以 this codepen 中的图表为例。将顶部图表标签的精度设置为 8,底部图表的最大值为 5 位(例如,最大值为“10,000”),底部图表的宽度可以等于顶部图表的宽度,方法是包括以下内容:
valueAxis2.marginLeft = "32px";
但是,如果底部图表的 valueAxis 标签中的位数发生变化,则左边距不再正确。例如,取消注释第 22 行可以看到这一点。如何独立于 valueAxis 标签长度使图表宽度相等?
好问题。我强烈建议您查看我们的 Working with Containers guide. The last section illustrates the pre-defined Containers for 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
截图(不需要边距播放!):