Charts 剑道图动态系列

Charts 剑道图动态系列,charts,kendo-ui,series,Charts,Kendo Ui,Series,我目前有一个两步的剑道图表制作过程。第一个过程是允许用户在图表上选择他们想要的数据集(系列)。然后他们选择一个模板。模板是图形设置ex(颜色主题、图表类型线、条形图、圆等) 当前,如果用户选择了他们想要的数据集,我会将序列信息返回到图形中,然后使用模板设置填充图形 我还允许用户动态更改模板设置。例如,将条形图转换为直线、面积、圆等。他们也可以改变主题。问题在于,当设置第一次加载时,我传递的序列信息是: { [name: "string", data: []], [name: "stri

我目前有一个两步的剑道图表制作过程。第一个过程是允许用户在图表上选择他们想要的数据集(系列)。然后他们选择一个模板。模板是图形设置ex(颜色主题、图表类型线、条形图、圆等)

当前,如果用户选择了他们想要的数据集,我会将序列信息返回到图形中,然后使用模板设置填充图形

我还允许用户动态更改模板设置。例如,将条形图转换为直线、面积、圆等。他们也可以改变主题。问题在于,当设置第一次加载时,我传递的序列信息是:

{
  [name: "string", data: []], 
  [name: "string", data: []]
}
在更改模板后检查序列对象时,我看到以下内容添加到该对象中:

{
  [name: "string",
   data: [],
   type: "area",
   color: "ff6800",
   ect...   
  ],
  [name: "string",
   data: [],
   type: "area",
   color: "ff6800",
   ect...   
  ],
}
问题是,我可以将对象类型修改为正确的选定类型。我甚至可以为每个系列将颜色值更改为不同的颜色。但是,由于我使用剑道主题,图表背景将发生变化,但随后系列颜色将不匹配。我可以想出一个函数来为图表选择背景色,然后为你的系列选择你想要的颜色。但如果可能的话,我宁愿使用剑道

我还认为,如果我清除那个对象,只使用我传递的设置和数据,它就可以工作。但是,我不想每次页面级别发生更改时都必须访问数据库,而且我还注意到,即使创建临时对象,我的对象也具有所有图表属性


提前谢谢你

我在剑道论坛上问了这个问题,得到了以下答案

在传递图表选项之前,您需要保留一份图表选项的深度副本。这样,您可以仅使用原始选项重新创建图表

var options = { ... };

$("#chart").kendoChart(
     // No side effects on options
     $.extend(true, {}, options)
 );
如果您看这个示例,那么这样做是有意义的,因为这样您可以在页面上发生不同事件时修改图表。例如,当我想更改主题或图表类型时。我只需修改:

options.seriesDefaults = { type = "bar" };
以下是Tsvetomir提供的示例链接:

以下是剑道论坛问题的链接: