私のd3 USマップはしばらくの間うまくいきました。問題なくCSVデータからサークルをプロットしていました。トラブルシューティングプロパティ '長さ'を読み取ることができません。未定義
var url = "my_data.csv";
d3.csv(url, function(error, rawData) {
var data = rawData.map(function(d)
{
return {
File: d.File,
Latitude: +d.Latitude,
Longitude: +d.Longitude,
Place: d.Location,
};
}).filter(d => projection([d.Longitude,d.Latitude]));
しかし、私はデータの時間次元を解析しようとしたときに気がついたことが少し複雑になりました。私の解析データの解析に失敗しました:「未定義のプロパティ '長さ'を読み取ることができません。 (私も%x
を試してみました)私の日付は1/22/2015
形式を持っているので、私は次のように使用:
var parseTime = d3.time.format("%m/%d/%Y").parse;
var formatDate = d3.time.format("%m/%d/%Y");
var url = "my_data.csv";
d3.csv(url, function(error, rawData) {
var data = rawData.map(function(d)
{
return {
File: d.File,
Latitude: +d.Latitude,
Longitude: +d.Longitude,
Place: d.Location,
Due: parseTime(d.Due),
//Notif: parseTime(d.Notification)
};
}).filter(d => projection([d.Longitude,d.Latitude]));
私はD3でこのエラーに関連する既存の文献をチェックし、二つの主な原因があるようです(私は「という少なくとも)の認識mは:場合と同様 here
- データコールバックは、問題があった here
私は(あまりにも多くの)問題がなければ前に日付を解析していますので、最初は上記の原因の2番目になると思いました。データには区切り文字の問題があります。おそらくカンマが省略されているか、コンマが2つあるか、またはコンマの代わりにピリオドまたはセミコロンがあります。
トラブルシューティングの最初のステップは、私のデータセット(何千ものデータセット)を取り、管理が容易な約80の観測を除いてすべてを削除することでした。スケーリングされたデータを調べた後、すべてが順調に見えました。そして、私は2つの観測を除いてすべてを削除しましたが、エラーは残っていました。結局、デリミタの問題ではないようです。
質問:この全体のプロセスは、回答よりも多くの質問を作成しました。今後の進め方はわかりません。おそらく、私が気づいていない別のエラー原因がありますか?
参考までに、私の特に定義されていない「長さ」問題のミニマリストblockをアップロードしました。
はなぜヘラルドかかわらず起こっていますか? csvは順番に表示されているようですが、欠損値や無効な文字はありません。あなたはそれが働いていることがわかりますが、私はあなたの歩みを逆戻りするのに問題があります。 –
@ArashHowaida私はちょうどあなたのCSVを見ていました。空の行を持つことはできません(2つの改行が順番に並んでいます)。 –