ExtJS 5图表系列渲染器

ExtJS 5 chart series renderer

本文关键字:系列 ExtJS      更新时间:2023-09-26

我有一个网格和一个折线图。他们两个都使用一个商店。我使用网格列render()函数,它看起来像这样:

renderer: function(value){
   return value;
} 

根据某些条件(增量、比率等)更改数据。我还想在我的图表中反映这些行动。我想我应该设置seriesrender(),但它没有值作为参数:

renderer: function (sprite, config, rendererData, index) {
 if (config.type === 'marker') {
     return { strokeStyle: (index % 2 === 0 ? 'red' : 'black') };
 }
} 

是否可以在不更改存储中实际数据的情况下实现渲染(如在网格中)来更改我的绘图?

如果我没有弄错,您正在搜索的value可以在rendererData参数中找到,该参数是一个包含属性angleField的对象。我不知道在那里更改它是否会影响图表,但我想是的(就像网格渲染器中的metaData参数会影响网格的渲染一样)。

但是:

渲染器仅更改某些数据的显示。基本值保持不变,这可能会影响所有类型的数据操作,如分组、排序等。

如果您真的想根据条件更改值,最好扩展模型,添加不持久的calculate d列,并相应地设置gridcolumndataIndex es(对于图表也是如此)。

我不确定渲染器是否会影响饼图中切片的大小;但我确信,如果(例如)根据切片大小对存储进行排序,则更改渲染器中的值不会影响切片在图表中的排序方式。

也就是说,这取决于你;我的话只是为了完整起见。