如何解决数据更改AmCharts时主题更改
我在安全带上有问题。 在我的页面上,用户可以更改一些过滤器,并且当更改过滤器(日期,..)时,图表也会更改。此时,我更改图表的数据,删除XYChart的所有系列,然后重新构建所有系列。
但是,当我这样做时,我不知道为什么,但是在创建图表之前我收取的主题发生了变化。 我发现的唯一解决方案是处理图表并重新创建它。但是,如果可能的话,我希望保持不变的主题,而不必重新创建图表,而只是重新创建序列和数据。
update: function (categories,data,granularity,symbol) {
symbol = symbol || '';
this._completeData(data,categories);
var dateAxis = this.chart.xAxes.values[0];
//Pour changement de granularité
var baseInterval;
var groupsInterval;
var gridInterval;
switch (granularity) {
case "hour":
baseInterval = { timeUnit: "hour",count: 1 };
groupsInterval = [
{ timeUnit: "hour",count: 1 },{ timeUnit: "day",count: 1 }
];
break;
case "month":
baseInterval = { timeUnit: "month",count: 1 };
groupsInterval = [
{
timeUnit: "month",count: 1,},{
timeUnit: "year",];
break;
case "year":
baseInterval = { timeUnit: "year",count: 1 };
groupsInterval = [
{
timeUnit: "year",];
break;
default:
baseInterval = { timeUnit: "day",count: 1 };
groupsInterval = [
{ timeUnit: "day",{
timeUnit: "month",];
break;
}
dateAxis.baseInterval = baseInterval;
dateAxis.groupIntervals.setAll(groupsInterval);
while (this.chart.series.values.length !== 0) {
this.chart.series.removeIndex(0).dispose();
}
this.chart.data = data;
this.chart.invalidateData();
categories.forEach(function (category) {
if (this.options.typeSeries == 'Line') {
this._createLineserie(category,symbol);
}
else {
this._createColumnSerie(category,symbol);
}
}.bind(this));
要继续使用主题,请创建图表。当有更改时,我更改了数据和系列,但我不知道为什么,但是我使用的第一个主题没有保留。
非常感谢您的帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。