क्योंकि समन्वय प्रणाली का उद्गम से ऊपरी बाएं भाग 'y' मूल्य पर लंगर डाले है है प्रत्येक बार के शीर्ष। यदि 'वाई' मान तय किया गया है, और 'ऊंचाई' बढ़ जाती है, तो ऐसा लगता है कि बार बढ़ने लगते हैं। सलाखों को नीचे से बढ़ने के लिए, आपको एक ही समय में 'वाई' और 'ऊंचाई' दोनों को स्थानांतरित करने की आवश्यकता होगी।
यह वही होना चाहिए जो आप खोज रहे हैं, मैंने केवल दो पंक्तियां बदल दी हैं।
chart.selectAll("rect")
.data(data)
.enter().append("rect")
.attr("x", function(d, i) { return x(i) - .5; })
.attr("y", function(d) { return h - .5; }) //new----
.attr("width", w)
.transition().delay(function (d,i){ return i * 300;})
.duration(300)
.attr("height", function(d) { return y(d.value); })
.attr("y", function(d) { return h - y(d.value) - .5; }); //new-----
मैंने चार्ट के नीचे 'y' मान शुरू किया है (एच - 0.5)। फिर जब आप संक्रमण करते हैं, तो आप 'ऊंचाई' (y (d.value)) बढ़ाते हैं और उसी दर पर 'y' (h-y (d.value)) को कम करते हैं। यह धुरी के लिए बार के नीचे फिक्सिंग का प्रभाव पड़ता है।
आशा है कि इससे मदद मिलती है!
बहुत बहुत शुक्रिया, पूरी तरह से काम किया –
मैं ver कुछ के साथ मुद्दों कर रहा था y इस तरह के समान है जब तक कि मैं संक्रमण() से पहले ऊंचाई को 0 पर सेट नहीं करता। कुछ ऐसा: '.attr (" ऊंचाई ", फ़ंक्शन (डी) {वापसी 0;})' – kendlete