私はExt 5を使用しており、値に基づいて折れ線グラフでセグメントの色を付けることを望みます。目標値よりも大きい値の場合は緑色で表示し、そうでなければ赤色で表示します。マルチカラーセグメントの線グラフ
Extラインチャートの線分の色をその値に基づいて変更する方法はありますか?
私はまた、様々な色の影響を作るために動的にライン上のラインスプライトを追加しようとしている。このlink
から煎茶でこれを行うための組み込みの方法がないことを見つけることができます。出来た。しかし、このカスタムラインを動的に描画するための正確なx、y座標を見つけることができませんでした。
これはこれまでに試したコードです。
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'
}]
});
});
私はすでにこれを試しました。しかし、私のx軸は数値ではなく日付を表しているので、あなたのフィドルに表示されているようにデータをカスタマイズすることはできません。 – Gilsha
@Gilshaグラフ描画の目的で、日付を数値に、またはその逆に簡単に変換できます。 JavaScriptの組み込みの「Date」を使用している場合、変換メソッドは[date.getTime() '](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime)と['new Date(value)'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)を参照してください。 –