私のプロジェクトのExtjs4で単純な線グラフを作成しましたが、グラフは正しいデータをプロットしていません。Extjs4グラフが正しいデータをプロットしていません
チャートは、グリッドと同じストアを使用して、同じデータを示していません。それを完全に修正しないと、問題の原因を追跡する方法はありますか?
次は、グラフを生成するために使用するコードです。 date.getFullYearについては
私のプロジェクトのExtjs4で単純な線グラフを作成しましたが、グラフは正しいデータをプロットしていません。Extjs4グラフが正しいデータをプロットしていません
チャートは、グリッドと同じストアを使用して、同じデータを示していません。それを完全に修正しないと、問題の原因を追跡する方法はありますか?
次は、グラフを生成するために使用するコードです。 date.getFullYearについては
()私はあなたの日付文字列を疑う:
{
xtype: 'chart',
animate: true,
shadow: true,
store: 'Dataalls',
legend: {
position: 'top'
},
axes: [{
type: 'Numeric',
position: 'left',
title: 'Wind Speed',
fields: ['windspeed'],
grid: true
}, {
type: 'Category',
position: 'bottom',
title: 'Time',
fields: ['time']
}],
series: [{
type: 'line',
axis: 'left',
xField: ['time'],
yField: ['windspeed']
}]
}
(x軸のための「時間」をが、エラー「date.getFullYearは関数ではありません」を取得します私はタイプを使用してみました) Dateオブジェクトには解析できません。他のサポートコード、理想的にはStoreとGridの完全なコードを投稿できますか?あなたは時間軸を使用したい場合は、あなたの日付文字列は、の線に沿って何かを経由して、日付オブジェクトに変換する必要があります:
Ext.define('Your.Model', {
extend: 'Ext.data.Model',
fields: [
{name: 'dateString', type: 'string'},
{name: 'date',
convert: function(value, record) {
year = value.substring(0,4);
month = value.substring(5,7).replace(/^[0]+/g,"");
day = value.substring(8,10).replace(/^[0]+/g,"");
hour = value.substring(11,13).replace(/^[0]+/g,"");
// etc for min, sec, millis
return new Date(year, (month - 1), day, hour, 0, 0);
}
}
]
});
グラフが正しく表示されないようにデバッグするには、Chartオブジェクトを検査して内部のデータを見ることができるように、その変数割り当て後にグラフオブジェクトをvarとFirebugブレークポイントに割り当てます。
私はTimeを使用して同様の問題がありました。
フィールド:[{名: '日付'、種類: '日付'}、{名: '閉じる'、種類: 'フロート'}]
としてちょうど私のモデルフィールド型を定義することによってそれを修正なぜあなたのチャートがそんなにプロットしているのか、前も分かっていました.Jsonが文字列として渡していることに気がついたので、私もfloatとして定義する必要があります。私はそれをjsonとして渡す前に、最初に浮動小数点数として強制することで、PHPの終わりの修正を行いました。