मैं यहाँ इस प्रतिलिपि प्रस्तुत करने योग्य उदाहरण की बात कर रहा हूँ

http://bl.ocks.org/jensgrubert/7789216

लेकिन निम्नलिखित डेटासेट (सीएसवी) पर लागू किया गया

"Q1","Q2","Q3","Q4"
0.43,30,0.42,0.3
19,2,15,14
41,46,28,100
8,1,0.45,0.05
0.71,0.68,5,0.4
21,14,7,23
0.63,0.11,0.47,0.22
10,15,0.87,0.4
16,16,18,14
0.01,0.72,0.31,0.28

यह देखते हुए कि मैं दशमलव के साथ संख्याएं रखना चाहता हूं, मैं मूल कोड को निम्नानुसार बदल रहा हूं:

var v1 = Math.round(x.Q1*100)/100,
    v2 = Math.round(x.Q2*100)/100,
    v3 = Math.round(x.Q3*100)/100,
    v4 = Math.round(x.Q4*100)/100;

और यह देखते हुए कि मैं y- अक्ष को लघुगणक पैमाने में बदलना चाहता हूं, मैं मूल कोड को निम्नानुसार बदल रहा हूं:

// the y-axis
var y = d3.scale.log()
 .domain([0.001, 100])
 .range([height + margin.top, 0 + margin.top]);

var yAxis = d3.svg.axis()
    .scale(y)
    .orient("left")
    .tickValues([0.001, 0.01, 0.1, 1, 10, 100])

अब मेरी समस्या यह है कि बॉक्स और विस्कर्स को y स्केल के साथ सही ढंग से संरेखित नहीं किया गया है: उदाहरण के लिए देखें प्रथम चतुर्थक, माध्यिका, तृतीय चतुर्थक आदि का गलत स्थान...; क्या यह शायद डेटा के लॉग ट्रांसफॉर्मेशन के कारण है? क्या मुझे उन्हें प्लॉट करने से पहले डेटा को भी बदलने की ज़रूरत है? और अंततः यह सब ठीक से कैसे करें?

मेरे पास एक दूसरा (जाहिरा तौर पर मामूली) मुद्दा है: एक्स-अक्ष (क्यूआई, क्यू 2, क्यू 3, क्यू 4) के लेबल को कैसे घुमाएं?

धन्यवाद

1
maxbre 27 सितंबर 2018, 10:22

1 उत्तर

सबसे बढ़िया उत्तर

जहाँ तक x-अक्ष लेबल (QI, Q2, Q3, Q4) को घुमाने में आपकी छोटी-सी समस्या है, इसे आज़माएं:

d3.selectAll('.x.axis .tick text')
    .attr('transform', 'rotate(-90)')
    .attr('text-anchor', 'end')
    .attr('dx', '-1em')
    .attr('dy', '-0.5em')
0
ksav 27 सितंबर 2018, 16:14