मैं d3.layout.pie()
का उपयोग कर डी 3 के साथ एक पाइचार्ट बना रहा हूं। यह ऐसा लगता है, काले बिंदुओं के बिना (मैंने उन्हें अपनी समस्या को स्पष्ट करने के लिए फ़ोटोशॉप में मैन्युअल रूप से रखा है)। मुझे आश्चर्य है कि मैं इन बिंदुओं के निर्देशांक की गणना कैसे कर सकता हूं, जो वहां कुछ टूलटिप्स लगाने के लिए सतह के बीच में हैं। मैं एक पूर्ण समाधान के लिए नहीं पूछ रहा हूं, लेकिन सिद्धांत के बारे में अधिक जानकारी कैसे करें। धन्यवाद।पाई चार्ट के किनारे स्लाइस के निर्देशांक कैसे प्राप्त करें?
उत्तर
आप किसी वृत्त की परिधि के पास एक बिंदु की गणना करने के following equations उपयोग कर सकते हैं:
x = cx + r * cos(a)
y = cy + r * sin(a)
कहाँ (cx, cy)
चक्र के केंद्र है, r
त्रिज्या है, और a
है कोण।
इसके लिए आपके लिए काम करने के लिए, आपको अपने चार्ट पर पाई स्लाइस के आधार पर कोण की गणना करने का एक तरीका होगा - नीचे देखें।
d3 documentation for pie layouts के अनुसार, pie
समारोह आर्क्स की एक सूची देता है, तो आप अपने अंक में से प्रत्येक की गणना करने के लिए इस डेटा की प्रक्रिया कर सकते हैं:
पाई (मान [सूचकांक])
मूल्यों की निर्दिष्ट सरणी पर पाई फ़ंक्शन का मूल्यांकन करता है। एक वैकल्पिक इंडेक्स निर्दिष्ट किया जा सकता है, जो प्रारंभ और अंत कोण कार्यों के साथ पारित किया जाता है। वापसी मूल्य आर्क डिस्क्रिप्टर
- मान - मान मूल्य द्वारा लौटाया गया डेटा मान है।
- startAngle - रेडियंस में चाप का प्रारंभ कोण।
- endAngle - रेडियंस में चाप के अंतिम कोण।
- डेटा - इस चाप के लिए मूल डेटाम।
मुमकिन है तुम सिर्फ प्रत्येक चाप के लिए endAngle
और startAngle
के बीच आधे दूरी लेते हैं, और वहाँ अपनी बात लगा सके।
// Compute the arcs!
// They are stored in the original data's order.
var arcs = [];
index.forEach(function(i) {
var d;
arcs[i] = {
data: data[i],
value: d = values[i],
startAngle: a,
endAngle: a += d * k
};
});
return arcs;
कि मदद करता है:
क्या इसके लायक है, यहाँ है कि प्रत्येक चाप गणना करने के लिए प्रयोग किया जाता है
pie.js
से कोड है
?
पर देख सकते हैं() बहुत अच्छा काम करता है, लेकिन यदि आप अपने पाई-स्लाइस के मध्य में लेबल चाहते हैं, तो सिर पर, आप उपयोग करना चाहिए: ' \t \t वर halfAngle: CGFloat = (endAngle + startAngle) /2.0 \t \t \t \t अगर endAngle
मुझे पता है कि यह एक साल हो गया है, आपने यह प्रश्न पूछा है, लेकिन सिर्फ एक ऐसे उत्तर में छोड़ना जो दूसरों की मदद कर सकता है। उन मंडलियों के परिवर्तन में arc.centriod() का उपयोग करने का प्रयास करें जिन्हें आप प्रदर्शित करना चाहते हैं।
कुछ इस
enterMenu.append("circle")
.attr("r", 5)
.attr('transform',function(d){
return "translate(" + arc.centriod(d) + ")";
});
इस तरह टुकड़ा के बीच बिल्कुल में चक्र से देना चाहिए। उपरोक्त फ़ंक्शन डी में आर्क का अंत कोण है।
आप संदर्भ के लिए इस लिंक http://bl.ocks.org/Guerino1/2295263
यह तुच्छ लग सकता है, लेकिन मैं x और y निर्देशांक प्रत्येक टुकड़ा अंदर खोजने की कोशिश कर रहा था, और जब मैंने देखा सूत्र ऊपर पोस्ट की जाँच करें,
एक्स = cx + r * क्योंकि (क)
y = cy + r * पाप (क)
, यह से (CX + 1 या cy +1) लंबाई त्रिज्या के लिए आर में वृद्धि से किया जा सकता है और दोहरा मूल कोण से गंतव्य कोण तक (ए) बढ़कर, फिर जोड़ना (सीएक्स, साइ)। उम्मीद है कि यह किसी की मदद करता है।
मैं गणित को समझना चाहता हूं जिसे आप वर्णन कर रहे हैं, लेकिन मुझे "बढ़ती आर" या "बढ़ने (ए)" के बारे में आपका अर्थ नहीं मिला .... क्या आप एक उदाहरण प्रदान कर सकते हैं? – Dewey
- 1. जेकप्लॉट पाई चार्ट - बदलें पाई स्लाइस रंग
- 2. पाई चार्ट स्लाइस के अंदर प्लॉट डेटा मान
- 3. मेरे Google पाई चार्ट
- 4. हाईचर्ट्स पाई चार्ट - प्रत्येक स्लाइस के अंदर टेक्स्ट जोड़ें
- 5. हाईचार्ट्स: पाई चार्ट - स्लाइस की संख्या को कम करें
- 6. पाई चार्ट बनाने के लिए डेटा स्रोत कैसे एकत्र करें?
- 7. d3js एक पाई चार्ट
- 8. चार्ट जेएस - पाई चार्ट
- 9. पाई चार्ट लेबल ओवरलैप [हाईचार्ट्स]
- 10. आर - पाई चार्ट
- 11. Google चार्ट एपीआई - पाई चार्ट स्ट्रोक विकल्प
- 12. हाईचार्ट्स पाई चार्ट चयनित पाई आईडी प्राप्त करते हैं
- 13. एकाधिक पाई चार्ट
- 14. एसएसआरएस पाई चार्ट
- 15. चार्ट प्रकार को पाई
- 16. प्रोग्रामेटिक रूप से हाईचार्ट्स पाई स्लाइस को छिपाने के लिए कैसे करें
- 17. hierarchic पाई/डोनट चार्ट
- 18. हाईचर्ट्स: पाई स्लाइस के रंग के अनुसार लेबल का रंग
- 19. चरबी पाई आकारों के साथ ggplot2 में पाई चार्ट
- 20. ToolStripButton के निर्देशांक कैसे प्राप्त करें?
- 21. हाईचार्ट्स डोनट चार्ट बिना आंतरिक पाई के?
- 22. जेक्प्लॉट पाई चार्ट
- 23. चार्ट.जेएस पाई चार्ट
- 24. Google पाई चार्ट
- 25. पदानुक्रमित/बहुस्तरीय पाई चार्ट
- 26. किबाना 4, पाई चार्ट बनाने, त्रुटि संदेश
- 27. Google चार्ट: पाई चार्ट शीर्षक स्थिति
- 28. ईमेल चार्ट - बार, क्षेत्र और पाई चार्ट
- 29. ASP.Net एमएस चार्ट नियंत्रण पाई चार्ट: हटाने अवांछित गद्दी
- 30. मान्यता प्राप्त पात्रों के निर्देशांक कैसे प्राप्त करें
क्या आपने कभी इसे काम करने के लिए प्राप्त किया था? –
@ जस्टिनएथियर मैं आपको बता सकता हूं कि आपके उत्तर का उपयोग करके मुझे कुछ काम मिल गया। हालांकि मुझे पता चला कि मैं अपनी गणना में दो बार ऑफ़सेट कोण का उपयोग कर समाप्त हुआ (जो गलत लगता है)। लेकिन आप इसे http://jsfiddle.net/IPWright83/s51mt3tv/4/ – Ian