Używam Ext 5 i chciałbym pokolorować segmenty na wykresie liniowym na podstawie wartości. Pokaż linię w kolorze zielonym, jeśli wartość większa niż cel, jeśli nie jest czerwona.Wykres liniowy z wieloma kolorowymi segmentami
Czy istnieje sposób na zmianę koloru segmentu linii na wykresie Ext w zależności od jego wartości?
mogę stwierdzić, że nie ma wbudowanego sposób to zrobić w Sencha z tego link
Próbowałem również dodać sprite wiersza dynamicznie nad linią dokonać wpływ różnych kolorach. Zadziałało. Nie udało mi się jednak znaleźć dokładnych współrzędnych x, y, aby dynamicznie narysować tę niestandardową linię.
To jest kod, który próbowałem do tej pory.
Ext.onReady(function() {
var data = [{
'date': '1',
'data2': 4
}, {
'date': '2',
'data2': 8
}, {
'date': '3',
'data2': 12
}, {
'date': '4',
'data2': 6
}, {
'date': '5',
'data2': 36
}];
Ext.create('Ext.chart.Chart', {
renderTo: Ext.getBody(),
width: 500,
height: 300,
store: {
fields: ['name', 'data2'],
data: data
},
listeners: {
redraw: function(){
var chart = this;
var series = chart.series[0];
var dataRange = series.dataRange;
var large = dataRange.find(function(v){ return v>14 });
if(large){
var line = series.getSurface().add({
type: 'line',
fromX: 354,
fromY: 75,
toX: 465,
toY: 257,
zIndex: 2000,
stroke: 'green',
'stroke-width': 2,
}).show(true);
}
}
},
axes: [{
type: 'numeric',
position: 'left',
fields: ['data2'],
title: {
text: 'Stores Visited',
fontSize: 15
},
grid: true,
minimum: 0
}, {
type: 'category',
position: 'bottom',
fields: ['date'],
title: {
text: 'Date',
fontSize: 15
}
}],
series: [{
type: 'line',
style: {
stroke: 'red',
lineWidth: 2
},
xField: 'date',
yField: 'data2'
}]
});
});
Już wypróbowałem to. Ale ponieważ moja oś X reprezentuje daty, a nie wartości liczbowe, nie mogę spersonalizować danych, jak pokazano na skrzypcach. – Gilsha
@Gilsha Możesz łatwo konwertować daty na liczby lub odwrotnie w celu rysowania wykresów. Jeśli używasz wbudowanego JavaScript 'Date', metody konwersji to [' date.getTime() '] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime) i ['new Date (value)'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date). –