是否有可能对具有多个堆叠系列的类别列图进行分类?
我知道CategoryAxis具有属性sortBySeries,但这只允许按一个特定系列进行排序。对于所有系列是否有任何等效的内容,或者像创建一个不可见的总计系列这样的解决方案?
(对我来说,预置数据并不是最好的选择,因为我希望稍后使用chart.invalidateRawData,然后也必须进行排序。)
发布于 2020-08-04 10:07:58
我得到的当前解决方案是以编程方式向chart.data中的每个对象添加一个chart.data属性。此属性的值是通过添加所有值-数据属性的所有值来计算的。
例如,当单个数据项如下所示时:
{
country: 'Germany',
femaleVisitors: 2550,
maleVisitors: 6029
}并且为maleVisitors和femaleVisitors创建了两个堆叠系列,更新后的数据项如下所示:
{
country: 'Germany',
femaleVisitors: 2550,
maleVisitors: 6029,
_calcTotal: 8579
}例如,当beforedatavalidated事件启动时,每次更新数据时,都可以执行此计算。然后,我们创建一个以_calcTotal为值数据字段的新列系列,并将本系列中的hidden属性设置为true。
通过使用categoryAxis.sortBySeries属性,现在可以使用本系列进行排序。
但是,当引用的排序系列隐藏并且使用时,amcharts最初不会对类别进行排序,而是使用了许多不同类别的 (> ~15)。解决方法是在图表触发invalidateRawData事件时调用ready。这导致了一个肮脏的初始排序动画,但嘿,总比什么都没有好。
JSFiddle:https://jsfiddle.net/0nr3g6es/1/
https://stackoverflow.com/questions/63216635
复制相似问题