2009-03-11 4 views
21

का उपयोग करते हुए एसवीजी आरेख, मैं अजगर में एसवीजी आरेख उत्पन्न करने के लिए एक पुस्तकालय की तलाश में हूं (मैं एक एसक्यूएल डेटाबेस से डेटा प्राप्त करता हूं)। मुझे python-gd मिला है, लेकिन इसमें अधिक दस्तावेज नहीं है और अंतिम अपडेट 2005 में था इसलिए मुझे आश्चर्य है कि क्या इस उद्देश्य के लिए कोई अन्य पुस्तकालय हैं।पायगॉन

मैं ज्यादातर this की तरह सरल रेखा रेखांकन, किसी चीज के बारे में सोच रहा हूँ: example line graph

+0

क्या आप स्पष्ट कर सकते हैं कि आप कौन से आरेख उत्पन्न करना चाहते हैं? – Rodrigo

+0

मैंने विवरण अपडेट किया है। – Zitrax

+0

ठीक है, मेरे प्रश्न को बेहतर उत्तर देने के लिए मेरा उत्तर अपडेट किया गया। – Rodrigo

उत्तर

10

जैसा कि आप साधारण लाइन ग्राफिक्स की तलाश में हैं, शायद CairoPlot आपकी आवश्यकताओं के अनुरूप होगा क्योंकि यह बॉक्स से बाहर svg आउटपुट फाइलें उत्पन्न कर सकता है। this पर एक नज़र डालें।

CairoPlot - DotLinePlot

यह उदाहरण छवि केवल एक अपनी क्षमताओं का कुछ पता चलता है। launchpad पर उपलब्ध ट्रंक संस्करण का उपयोग करके आप एक किंवदंती बॉक्स जोड़ सकते हैं और अक्ष शीर्षक जोड़ सकते हैं।

कि इसके अलावा, ट्रंक संस्करण का उपयोग कर, यह संभव उत्पन्न करने के लिए है:

  • DotLine चार्ट (लोगों को मेरा मानना ​​है कि आप की जरूरत)
  • स्कैटर चार्ट
  • पाई/डोनट चार्ट
  • क्षैतिज/कार्यक्षेत्र बार चार्ट
  • गैंट चार्ट
+0

मैंने इसका उपयोग समाप्त कर दिया क्योंकि मैं कुछ और उन्नत नहीं करता हूं। हालांकि मैं कभी भी उन छोटी किंवदंतियों को सही तरीके से मुद्रित करने के लिए नहीं मिला, न तो ट्रंक से या 1.1 में, आप एक बॉक्स में किंवदंतियों को प्राप्त कर सकते हैं। – Zitrax

+0

हाँ, दाईं ओर छोटी किंवदंतियों को नए संस्करणों पर हटा दिया गया क्योंकि वे कई मूल्यों के लिए अच्छी तरह से काम नहीं करते थे (जैसा कि आप ऊपर देख सकते हैं)। एकमात्र विकल्प, आजकल, दाएं ऊपरी कोने पर बॉक्स का उपयोग करना है (केवल ट्रंक संस्करण पर उपलब्ध)। – Rodrigo

7

यहाँ पायथन में एक सामान्य प्रयोजन एसवीजी पुस्तकालय है: pySVG

+1

लेकिन यह वाणिज्यिक उपयोग के लिए स्वतंत्र नहीं है। –

10

matplotlib का उपयोग करने का प्रयास करें। आप इसे एक एसवीजी backend के साथ कॉन्फ़िगर कर सकते हैं।

+3

हालांकि मैंने इसका उपयोग किया है, और यह काम करता है, मैंने हमेशा काम करने के लिए matplotlib सुंदर clunky पाया है। मैं matplotlib पर लगभग किसी भी अन्य ग्राफिंग पुस्तकालय पसंद करते हैं। – Cerin

9

PyChart"उच्च गुणवत्ता Encapsulated PostScript, पीडीएफ, PNG, या एसवीजी चार्ट बनाने के लिए एक अजगर पुस्तकालय है।"

+2

मैं बस उल्लेख कर सकता हूं कि मैंने थोड़ी देर के लिए काइरोप्लॉट का उपयोग करने के बाद मैंने पायचर्ट पर स्विच किया जो कि अधिक विन्यास योग्य है। – Zitrax

9

pyCairo एक विकल्प देखने लायक है।

+1

न केवल पीवीसीएरो एसवीजी को लिख सकता है। कोड की कुछ पंक्तियों में बदलाव के साथ, यह एक ही डेटा को पीडीएफ या पीएनजी में लिख सकता है। बहुत लचीला। –

6

एसवीजी प्रारूप में आरेख उत्पन्न करने के लिए आप Graphviz का उपयोग कर सकते हैं। ग्राफ़विज़ के लिए पाइथन बाइंडिंग उदा।, pydot - ग्राफ़विज़ की डॉट भाषा में पायथन इंटरफेस।

http://code.google.com/p/svgfig/

+1

जबकि ग्राफविज़ बहुत अच्छा है, यह न तो एक सामान्य एसवीजी समाधान है और न ही यह प्रश्न में निर्दिष्ट विशिष्ट आवश्यकता को संबोधित करता है। यह उत्तर एक गैर अनुक्रमक की तरह लगता है। –

+0

@ लॉरेंस गोंसाल्व्स: रेखा भूखंड एकमात्र प्रकार के चित्र नहीं हैं http://images.google.com/images?q=diagram – jfs

+0

प्रश्न विशेष रूप से "सरल रेखा ग्राफ" के लिए पूछा गया था और इसका एक उदाहरण था जिसने इसे स्पष्ट रूप से स्पष्ट किया कोई भी जो दोनों प्रश्न पढ़ता है और ग्राफविज़ का उपयोग करता है कि ग्राफविज़ उनके लिए सहायक नहीं होगा। जैसे मैंने कहा: ग्राफविज़ बहुत अच्छा है। मैं इसका हर समय उपयोग करता हूं। यहां इसकी सिफारिश करना किसी ऐसे व्यक्ति को स्क्रूड्राइवर की सिफारिश करना है जो नाखूनों में ड्राइव करना चाहता है। –

0

होने के नाते वास्तव में एसवीजी भूखंडों से संबंधित नहीं है, लेकिन एक ही बात के लिए खोज मैं आपके सवाल का जवाब देने के लिए ध्यान से एकत्र उपयोगी जानकारी का एक अच्छा स्रोत मिल गया है:

0

मैं एक (अपने चल रहे एक काम है, जिसमें मैं सूची को अद्यतन करने के रखने के लिए) उपलब्ध चार्टिंग पुस्तकालयों की सूची मुक़ाबला करने की कोशिश की: http://blizzardzblogs.blogspot.com/2010/12/data-visualization-charts-and.html

मुझे लगता है कि प्रोटोविस आपके लिए काम करेगा।इसके

  • हल्के वजन,
  • svg (जो आसानी से निर्यात किया जा सकता है) और उत्पन्न
  • जावास्क्रिप्ट

है तो ज्यादा कुछ नहीं जानने के लिए :)

+0

केवल यह समझ में आता है कि यह एक वेब एप्लिकेशन है ... –