私はアマチュアです。優しくしてください。
私が構築しようとしている経験:グラフを描きます。SVGを削除します。新しいデータをロードします。チャートを描きます。
十数個のjsonファイルがあり、すべて同じ構造になっています。今は2つ使っています。
2番目のjsonを更新してアクセスするまでにすべてが発生していますが、新しいx軸を描画できません。
'未定義のプロパティ'日付 'を読み取ることができません'
初めて日付を読みました。.tickValuesでハングアップし、jsonの最初、中間、最後の日付値にアクセスします...:
.call(d3.axisBottom(x)
.tickValues([perf[start].date, perf[mid].date, perf[perflength-1].date])
.tickFormat(d3.timeFormat("%m-%d-%y")))
//...
これらは私がそこで供給している変数です:
var perf = json.performance
var perflength = json.performance.length
var mid = perflength/2
var start = 0
perf.forEach(function(d) {
d.date = parseTime(d.date);
});
私はそこを通り抜けることができればそれはエラーを投げ続けるだろうと私は思うが。jsonは次のように構成されています。
{
"performance" : [
{
"date": "1-27-15",
"company": 0,
"index": 0
},
{
"date": "1-28-15",
"company": 5.7,
"index": -0.9
},
//...
]
}
だから私の質問は、json.performanceを2回目に未定義にするステップが欠けているのですか?
これが私の最初の質問なので、スクリプトファイル全体を投稿する必要があるかどうかわかりません。多分これはここの情報から答えることができます。役立つと思われる場合は追加します。
除数/
をmid
使用して変数を計算しています。これは後でで使用しますtickValues
。/
それは、アクセスに失敗する可能性がありますので、オペレータは、あなたの整数値(例:7/2 = 3.5)を保証するものではありませんperf
アレイとあなたがアクセスできないよう、それは、あなたが投稿したエラーを発生させdate
、未定義値のプロパティを。
したがって、除算の結果を整数(parseInt()
)に解析するか、整数()に丸めてMath.round
問題を解決します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加