首页 > 解决方案 > AmCharts4:amCore.percent() 未按预期工作

问题描述

我有以下图表: 在此处输入图像描述

“1”是 LineSeries,“2”是 columnSeries。我像这样设置 columnSeries 的宽度:

  series.columns.template.width = am4core.percent(90);

但如您所见,列与 90% 的宽度相差甚远。

有趣的是,没有 LineSeries,它看起来像这样,这就是我想要的样子: 在此处输入图像描述

此外,如果我写一个非常高的值(80 000)而不是 90,我会得到所需的列:

在此处输入图像描述

我注意到 dateAxis 的行为不同(显示不同的时间),但我看不出这是从哪里来的。

此外,这个百分比的高值不是解决方案,因为它在不同的图表上具有不同的宽度

标签: amcharts4

解决方案


因此,经过试验,我发现避免这种情况的唯一方法是为列使用自己的日期轴。

例如,如果您想要一个行+列,则可以将 dateAxis 添加到行,并将 dateAxis 添加到列。如果您有多个列,您可以为所有列使用一个 dateAxis,或者为每一列分配一个。后者将使列“堆叠”,因此如果对两个数据集使用相同的日期,它们将位于完全相同的位置。此外,这样做意味着您必须禁用除一个之外的所有日期轴上的标签,否则 xAxis 上的标签将堆叠。


推荐阅读