2014-07-02 9 views
8

मैं d3.js द्वारा हमें उपलब्ध कराया प्रतीकों की सूची जो कोड की इस पंक्ति से संदर्भित किया जाता है कहां मिल सकते हैं:हमारे पास उपलब्ध d3 प्रतीकों की सूची

d3.svg.symbol().type(/*Name of the symbol type that is available to us to use*/'triangle') 

उपलब्ध प्रतीकों में से कुछ त्रिकोण में शामिल हैं, हीरा। क्या कोई भी दस्तावेज कहीं भी उपलब्ध है जहां पूरी सूची दस्तावेज है।

उत्तर

16

समर्थित प्रकार डी 3 दस्तावेज में सूचीबद्ध हैं: https://github.com/mbostock/d3/wiki/SVG-Shapes#symbol_type। के शब्दों में:

  • चक्र - एक circle
  • क्रॉस - एक Greek cross या प्लस साइन।
  • हीरा - एक rhombus
  • वर्ग - एक अक्ष-संरेखित square
  • त्रिभुज-डाउन - नीचे की ओर इशारा करते हुए equilateral triangle
  • त्रिकोण-अप - ऊपर की ओर इशारा करते हुए समतुल्य त्रिकोण।

डी 3 भी एक उद्देश्य यह है कि उपलब्ध प्रतीकों संग्रहीत करता है (धन्यवाद फिर से, @jshanley) है। जैसे डी 3 3.4.6 के लिए:

>>> d3.svg.symbolTypes 
["circle", "cross", "diamond", "square", "triangle-down", "triangle-up"] 
+0

तुम भी उपयोग कर सकते हैं [ 'd3 .svg.symbolTypes'] (https://github.com/mbostock/d3/wiki/SVG-Shapes#symbolTypes) d3 के आपके संस्करण में समर्थित प्रकारों की एक सरणी वापस करने के लिए। – jshanley

+0

@jshanley: धन्यवाद, मैंने भी ध्यान दिया :) – mdml

+0

कूल, धन्यवाद :) मैं सोच रहा था कि क्या अधिक प्रतीकों के प्रकार उपलब्ध हैं या सिर्फ इन 6? :( – Ishita

4

संस्करण 4 के लिए, वहाँ सात आकार, के रूप में संस्करण 3 (अन्य जवाब में संदर्भित) में छह करने का विरोध कर रहे हैं।

आकार सरणी d3.symbols जिसमें में निहित हैं:

  • d3.symbolCircle
  • d3.symbolCross
  • d3.symbolDiamond
  • d3.symbolSquare
  • d3.symbolStar
  • (4 संस्करण में नया) 10
  • d3.symbolWye (एक 'y' आकार के प्रतीक, संस्करण 4 में नया) हमेशा की तरह कवर the topic well here रूप

d3 प्रलेखन (वहाँ v3 में 2 की तुलना वी 4 में केवल एक त्रिकोण, है)।

प्रतीकों को दिखाने के लिए, और कैसे सरणी गतिशील आकार निर्धारित करने के लिए इस्तेमाल किया जा सकता को दिखाने के लिए, मैं एक टुकड़ा नीचे संलग्न है:

var data = [0,1,2,3,4,5,6]; 
 
var svg = d3.select('body').append('svg').attr('width',400).attr('height',200); 
 

 
svg.selectAll('.symbol') 
 
    .data(data) 
 
    .enter() 
 
    .append('path') 
 
    .attr('transform',function(d,i) { return 'translate('+(i*20+20)+','+30+')';}) 
 
    .attr('d', d3.symbol().type(function(d,i) { return d3.symbols[i];}));
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.5.0/d3.js"></script>

+0

क्या आप समझा सकते हैं, यह 2 लाइनें कैसे काम करती हैं? '.attr ('ट्रांसफॉर्म', फ़ंक्शन (डी, i) {वापसी 'अनुवाद (' + (i * 20 + 20) + ',' + 30+ ')';}) .attr ('d', d3.symbol() टाइप करें (फ़ंक्शन (डी, i) {वापसी d3.symbols [i];}); ' – Ishan

+0

जब आप' फ़ंक्शन देखते हैं (डी) , i) 'इस तरह के चयन में, आप चयन में प्रत्येक तत्व से जुड़े डेटाम और वृद्धि को एक्सेस कर रहे हैं। इसलिए पहली पंक्ति में, प्रतीक 30 पिक्सल नीचे स्थित है, और बाईं ओर से * 20 + 20 पिक्सेल है। दूसरी पंक्ति एक डी 3 प्रतीक प्रकार देता है, क्योंकि 'd3.symbols' एक सरणी है, हम एक विशिष्ट प्रतीक का चयन करने के लिए वृद्धि का उपयोग कर सकते हैं। –

+0

असल में मैं केवल एक प्रतीक बनाने की कोशिश कर रहा हूं क्या यह सही तरीका है? 'var svg = d3.select ('svg')। Attr ('width', 400) .attr ('height', 200); svg.append ('path') .attr ('ट्रांसफॉर्म', 'अनुवाद (50,80)') .attr ('d', d3.symbol() टाइप करें (फ़ंक्शन (डी) {वापसी d3.symbols [2];})) ' और साथ ही, मैं प्रतीक पर ड्रैग और ड्रॉप बनाने की कोशिश कर रहा हूं क्या आप दृष्टिकोण के साथ मेरी मदद कर सकते हैं? – Ishan

संबंधित मुद्दे