2008-10-18 4 views
18

में स्कैटर प्लॉट सी ++ में स्कैटर प्लॉट ग्राफ़ करने का सबसे अच्छा तरीका क्या है?सी ++

क्या आप एक फ़ाइल में डेटा लिखते हैं और किसी अन्य उपकरण का उपयोग करते हैं? क्या पाइथन में matplotlib जैसी लाइब्रेरी है?

+0

जांच http://stackoverflow.com/a/40612989/2192115 का आनंद – SAAD

उत्तर

27

मैं हमेशा डेटा लिखता हूं और फिर अपने ग्राफ बनाने के लिए gnuplot का उपयोग करता हूं। यह कई प्रकार के प्रारूपों में आलेख बनाने के लिए अब तक का सबसे अच्छा तरीका है: eps, png, jpeg, xpm, आप इसे नाम दें।

gnuplot स्कैटर प्लॉट बहुत आसानी से करेगा। x और y मान दिए

plot "data.txt" using 1:2 

आप एक त्वरित बिखराव साजिश देंगे, 2 अंतरिक्ष से अलग किए columnss में हैं तो। फिर आप इसे समायोजित कर सकते हैं और अन्य gnuplot कमांड का उपयोग नहीं कर सकते हैं।

यदि आप विज्ञान में शामिल हैं, तो gnuplot सीखना आपके लिए बहुत मूल्यवान होगा। यह सुनिश्चित करने के लिए एक्सेल प्लॉट करने से बाहर निकलता है और यह कागजात में प्लॉट्स को शामिल करने का काम आसान बनाता है।

4

यह निश्चित रूप से सबसे अच्छा तरीका नहीं है लेकिन मैं आमतौर पर आउटपुट फाइलें लिखता हूं जिसे R द्वारा पढ़ा जा सकता है और ग्राफ को साजिश करने के लिए उचित स्क्रिप्ट के साथ इसका उपयोग किया जा सकता है।

11

आप एक सी के लिए देख रहे हैं ++ पुस्तकालय बल्कि gnuplot जैसे मैं स्वतंत्र अंकन उपकरण की तुलना में, मैं निम्नलिखित पर विचार करेंगे:

dislin करने लगता है दोनों के बारे में और अधिक दिलचस्प हो। यहाँ एक वर्णन विकिपीडिया लेख से निकाली गई है:

DISLIN एक उच्च स्तरीय और Katlenburg-Lindau, जर्मनी में मैक्स प्लैंक इंस्टीट्यूट में हेल्मुट मिशेल्स द्वारा विकसित पुस्तकालय की साजिश रचने का उपयोग करने के लिए आसान है। हेलमट मिशेल वर्तमान में संस्थान के कंप्यूटर केंद्र में गणितज्ञ और यूनिक्स सिस्टम मैनेजर के रूप में काम करता है।

डिस्लिन लाइब्रेरी में वक्र, बार ग्राफ, पाई चार्ट, 3 डी-रंग प्लॉट, सतह, समोच्च और मानचित्र के रूप में डेटा प्रदर्शित करने के लिए दिनचर्या और कार्य शामिल हैं। कई आउटपुट प्रारूप समर्थित हैं जैसे एक्स 11, वीजीए, पोस्टस्क्रिप्ट, पीडीएफ, सीजीएम, एचपीजीएल, एसवीजी, पीएनजी, बीएमपी, पीपीएम, जीआईएफ और टीआईएफएफ।

डिस्लिन प्रोग्रामिंग भाषाओं के लिए उपलब्ध है फोरट्रान 77, फोरट्रान 90/95 और सी। पर्ल, पायथन और जावा भाषाओं के लिए प्लॉटिंग एक्सटेंशन भी अधिकांश ऑपरेटिंग सिस्टम के लिए समर्थित हैं। डीआईएसआईएल का वर्तमान संस्करण 9.4 है, जिसे अक्टूबर 2008 में जारी किया गया था। पहला संस्करण 1.0 दिसंबर 1 9 86 में जारी किया गया था।

डिस्लिन सॉफ्टवेयर गैर-वाणिज्यिक उपयोग के लिए नि: शुल्क है।

3

समस्या यह है कि उदाहरण के लिए जावा के विपरीत सी ++ में अंतर्निहित जीयूआई या ग्राफिक्स नहीं हैं। यदि आप सी ++ के साथ ग्राफ उत्पन्न करना चाहते हैं तो आपको अपने ओएस के लिए उपलब्ध एक जीयूआई लाइब्रेरी का उपयोग करना होगा। मुफ्त जीयूआई पुस्तकालय हैं, क्यूटी या जीटीके जैसे कई क्रॉस-प्लेफॉर्म।

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

1

यदि आप matplotlib से परिचित हैं, तो आप embed सी/सी ++ अनुप्रयोगों में पायथन कर सकते हैं। आप जो चाहते हैं उसके आधार पर, यह एक त्वरित समाधान हो सकता है।

0

Chart Director सी ++ के लिए बाध्यकारी है। मैंने अपने नेट पुस्तकालयों का उपयोग किया है, और मैं उनके साथ बहुत खुश हूं। यह एक बहुत सस्ता पुस्तकालय है, और आपको विभिन्न चार्टों के सभी प्रकार करने की शक्ति देता है।

8

बहुत भारी समाधान: ROOT के खिलाफ लिंक कर सकते हैं, जो सिर्फ कुछ के बारे में क्या करेंगे आप चाहते हैं:

  • मैक, लिनक्स और विंडोज़ के रन
  • रन संकलित या interperter
  • उत्पादन CInt का उपयोग कर encapsulated पोस्टस्क्रिप्ट, पीडीएफ, gif, png में एक फ़ाइल में ...
  • कई अलग-अलग तकनीकों का उपयोग कर स्क्रीन पर प्रदर्शित
  • किसी आंतरिक f में डेटा को क्रमबद्ध करें ऑर्मैट जिसे बाद में

निश्चित रूप से, अधिकांश लोगों के लिए यह थोड़ा अधिक है, लेकिन यह वही करता है जो आपने पूछा था। मैं इसका उपयोग करता हूं क्योंकि मुझे पता है और यह पहले से ही मेरी मशीनों पर है क्योंकि मैं उस तरह का भौतिक विज्ञानी हूं।

1

सादर। मैं कहता हूँ कि क्या मैं C++ में रेखांकन साजिश

  1. से http://sourceforge.jp/projects/sfnet_gnuplot/downloads/gnuplot/4.4.3/gp443win32.zip/

  2. ज़िपित फ़ाइल "gp443win32.zip" डाउनलोड में "C: \ gnuplot" यह निकालें किया 'सी तो मैंने पढ़ा है: \ gnuplot \ gnuplot \ README.Windows " और मैं इन जानकारी मिल गया:

  3. मैं इस्तेमाल किया विंडोज 7 ==> ताकि आप डाउनलोड करने के लिए की जरूरत है" WinHlp32.exe "बस इसके लिए खोज ..." विंडोज WinHlp32.exe 7 "एक खोज इंजन में और पहले लिंक के माध्यम से जाओ।

  4. संलग्न "पथ" पर्यावरण चर करने के लिए द्विआधारी फ़ोल्डर के लिए पथ जो है "C: \ gnuplot \ gnuplot \ बाइनरी"

  5. तो मैं बंद अपने कंप्यूटर और इसे फिर से खोलने के। बाद मैंने पाया कि यह वातावरण चर में परिवर्तन भावना नहीं था: डी

  6. अब आप की जरूरत है :) अपने साजिश रचने की क्षमता का परीक्षण करने के लिए एक नमूना कोड लिखने के लिए तो आप इस लिंक http://code.google.com/p/gnuplot-cpp/source/browse/#svn%2Ftrunk जाएँ को देखने के लिए कर सकते हैं हेडर फ़ाइल "gnuplot_i.hpp" और स्रोत फ़ाइल "example.cc"।

आप कई और कई रेखांकन मिल जाएगा, अपने उचित ग्राफ चुनते हैं, तो अपने मूल को अनुकूलित, और :)