ฉันเพิ่งเริ่มใช้ d3.js และฉันกำลังดิ้นรนที่จะเติมพื้นที่ระหว่างเส้นในกราฟเปอร์เซ็นไทล์หลายตัวแปร
- ฉันไม่ต้องการให้พื้นที่ใดๆ อยู่ต่ำกว่าบรรทัดล่างสุดหรือเหนือบรรทัดบนสุด
- คอลัมน์แรกจะอยู่ที่ด้านล่างของกราฟเสมอ (เปอร์เซ็นไทล์ที่ 5)
- คอลัมน์สุดท้ายจะอยู่ที่ด้านบนของกราฟเสมอ (เปอร์เซ็นไทล์ที่ 95)
- ฉันต้องการส่วนพื้นที่แยกระหว่างแต่ละบรรทัด
ฉันรู้ว่าฉันต้องกำหนดพื้นที่ที่จะเติมระหว่าง (y0, y1) ดังนี้:
var area = d3.svg.area()
.x(function(d) { return x(d.date); })
.y0(function(d) { return y(BOTTOM); })
.y1(function(d) { return y(TOP); });
อย่างไรก็ตาม ฉันไม่รู้ว่าจะใส่อะไรลงในส่วน .y1 ตามหลักการแล้ว ฉันแค่คว้าค่าถัดไปของแถวถัดไปใน TSV แต่ฉันไม่รู้ว่าต้องทำอย่างไร
เพื่อวัตถุประสงค์ในการทดสอบ ฉันมีสิ่งต่อไปนี้ซึ่งสร้างส่วนพื้นที่หนึ่งส่วนที่ฉันต้องการ:
.y0(function(d) { return y(+d.p05); })
.y1(function(d) { return y(+d.p25); });
ฉันต้องการสิ่งนี้ แต่ตัวอย่างนี้ไม่ช่วยอะไรเนื่องจากไม่ได้อ้างอิงแถวอื่นจาก csv/tsv:
http://bl.ocks.org/mbostock/4060954
อันนี้คล้ายกัน แต่เป็นไบวาเรียต ไม่ใช่หลายตัวแปร
http://bl.ocks.org/mbostock/3894205
นี่คืองานของฉันที่กำลังดำเนินการ (ดูแหล่งที่มา):
http://artfuladvection.com/project/NOAA/percentilesGraph/multipercentile.html
TSV ของฉันได้รับการตั้งค่าดังนี้:
date p05 p25 p50 p75 p95
20140122 3 4 5 6 12
20140123 9 10 12 22 34
20140124 14 16 18 34 66
ความช่วยเหลือใด ๆ ?