情報ビジュアライゼーションでプロジェクトを行い、空港から空港まで複数の線を引きたい場合。d3に曲線が表示される
偉大なアークを扱うように管理されていますが、同じ空港を行き来する複数のフライトがあるため、私はライン上に異なる半径を持ちたいと思います。これはd3で可能ですか?
EDIT:
this.formatedflightdata = {type: "FeatureCollection", features: formatFlightData(this.flightdata)};
console.log(this.formatedflightdata);
var line = this.g.selectAll(".arc")
.data(this.formatedflightdata.features);
line.enter().append("path")
.attr("class", "arc")
.attr("fill", "none")
.attr("stroke", "red")
.attr("stroke-width", "2px")
.attr("stroke-linecap", "round")
.attr("opacity", "1")
.attr("d", this.path)
.on("click", function(d) {
console.log("Clicked line!")
});
function formatFlightData(array) {
var data = [];
array.map(function (d, i) {
var feature = {
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[d.origlong, d.origlat],
[d.destlong, d.destlat]]
},
"properties": {
"origin": d.ORIGIN,
"destination": d.DEST,
"dayOfMonth": d.DAY_OF_MONTH,
"flightDate": d.FL_DATE,
"carrier": d.CARRIER,
"distance": d.DISTANCE
}
};
data.push(feature);
});
return data;
}
残念なことに、それは私のために働いていない。コードを少し変更して、各パスの単一のsvg要素を作成しました。既に描かれたSVGラインを操作する方法を知っていますか? –