Da quello che ho potuto trovare, è possibile utilizzare il metodo
(...),
series: [style: {colors: arrayBuiltFromStore }],
(...)
se si sta creando un grafico a torta (o un altro grafico con series.colors attribuiscono), ed è funziona alla grande.
Se si utilizza un tipo di grafico che non supporta series.colors ... diventa un po 'più contorto. Ho scoperto che l'utilizzo del metodo di rendering funziona abbastanza bene. L'unico problema con questo metodo (che posso vedere subito) è che non cambia i colori nella legenda. Ci vorrebbe qualche ulteriore modifica per vedere se questo potrebbe essere tirato dal negozio.
Se si rileva il problema della legenda, fatemi sapere, ma spero che questo aiuti.
Nota: non tutte le variabili utilizzate nello script seguente vengono popolate nello script.
function myColorer(rec) {
var aFiller = new Array('#0000FF','#31CD31','#FFFF00','#FF0000');
return aFiller[rec];
}
Ext.onReady(function() {
var sDataStore = new Ext.data.JsonStore(sPathToDataStore);
chart = new Ext.chart.Chart({
renderTo: document.getElementById('test-graph'),
width: 800,
height: 600,
animate: true,
store: sDataStore,
legend: {
position: 'right',
isVertical: true,
},
axes: [{
type: 'Numeric',
grid: true,
position: 'left',
fields: ['field1','field2','field3','field4'],
title: 'Title Here',
grid: {
odd: {
opacity: 1,
fill: '#ddd',
stroke: '#bbb',
'stroke-width': 1
}
},
minimum: 0,
adjustMinimumByMajorUnit: 0
}, {
type: 'Category',
position: 'bottom',
fields: label1,
title: sXAxisLabel,
grid: true,
}],
series: [{
renderer: function(sprite, record, curAttr, index, store) {
var color = myColorer(index);
return Ext.apply(curAttr, {
fill: color
});
},
type: 'area',
highlight: false,
axis: 'left',
xField: label1,
yField: ['field1','field2','field3','field4'],
style: {
opacity: 0.93
}
}]
});
});
Intendi diagrammi ExtJS o grafici YUI? Per quanto posso dire, non sono la stessa cosa. –
ExtJS internamente sfrutta le caratteristiche e le classi dei grafici YUI. Comunque sto usando l'API ExtJs per visualizzare i grafici. – shane87
Hai provato setStyles() o hai impostato extraStyle() e poi aggiornato il grafico? – McStretch