我是一個完整的初學者到D3.js,我正嘗試將一個簡單的折線圖放入一個leafletJS彈出窗口中。D3折線圖進入bindPopup
我試圖繪製數組中的值作爲練習對照它們的索引。
這是我對上點擊功能代碼:
point.on("click", function() {
var div = $('<div style="width: 800px; height: 300px;"><svg/></div>')[0];
this.bindPopup(div);
this.openPopup();
//data:
var data = [3, 6, 2, 7, 5, 2, 0, 3, 8, 9, 2, 5, 9, 3, 6, 3, 6, 2, 7, 5, 2, 1, 3, 8, 9, 2, 5, 9, 2, 7];
// set scales:
var x = d3.scale.linear().domain([0,data.length]).range([0, 300]);
var y = d3.scale.linear().domain([0,10]).range([0, 300]);
// create axes:
var xAxis = d3.svg.axis().scale(x).orient("bottom");
var yAxis = d3.svg.axis().scale(y).orient("left");
//construct line:
var line = d3.svg.line()
.x(function(d, i) {
return x(i);
})
.y(function(d) {
return y(d);
});
var svg = d3.select(div).append("svg")
.attr("width", 600)
.attr("height", 300)
.append("g")
.attr("transform", "translate(0,0)");
svg.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0,0)")
.call(xAxis);
svg.append("g")
.attr("class", "y axis")
.attr("transform", "translate(20,-150)")
.call(yAxis);
svg.append("path").attr("d", line(data));
})
這是我在彈出得到的結果:
我的一切完全無知從標度到沒有線,到y軸在x軸下。
任何方向在這裏將不勝感激。
謝謝。
你想達到什麼目的? – thatOneGuy
@thisOneGuy我剛剛開始。所以只要出現在彈出窗口中的線條圖就很好。我在這裏使用的例子:http://bl.ocks.org/benjchristensen/2579599 – noob
設置jsfiddle,所以我們可以看看 – thatOneGuy