سؤال

ما هي أفضل طريقة لرسم مخططات مبعثرة في C++؟

هل تكتب البيانات في ملف وتستخدم أداة أخرى؟هل توجد مكتبة مثل matplotlib في بايثون؟

هل كانت مفيدة؟

المحلول

وأنا دائما كتابة البيانات ثم استخدام gnuplot لإنشاء الرسوم البيانية بلدي. هو إلى حد بعيد أفضل طريقة لقد وجدت لإنتاج الرسوم البيانية في مجموعة متنوعة من الأشكال: العائد على السهم، بابوا نيو غينيا، الحياة السياسية في فرنسا، XPM، سمها ما شئت

.

وسوف تفعل gnuplot مؤامرة مبعثر بسهولة جدا. شريطة القيم x وy هي في 2 columnss مفصولة الفضاء، ثم

plot "data.txt" using 1:2 

وسوف اعطيكم مؤامرة مبعثر سريعة. ثم يمكنك تعديله وليس ما باستخدام أوامر gnuplot أخرى.

إذا كنت طرفا في العلوم، ثم gnuplot التعلم ستكون قيمة للغاية بالنسبة لك. ذلك جزاء على حماقة من القيام المؤامرات تتفوق على وجه اليقين، وأنه يخفف من مهمة جعل المؤامرات أن تدرج في الأوراق.

نصائح أخرى

إذا كنت تبحث عن مكتبة C++ بدلاً من أداة رسم مستقلة مثل gnuplot، فسأفكر فيما يلي:

يبدو أن Dislin هو الأكثر إثارة للاهتمام بين الاثنين.فيما يلي وصف مستخرج من مقالة ويكيبيديا:

DISLIN هي مكتبة تخطيط عالية المستوى وسهلة الاستخدام تم تطويرها بواسطة هيلموت ميشيلز في معهد ماكس بلانك في كاتلينبورج-لينداو، ألمانيا.يعمل هيلموت ميشيلز حاليًا كعالم رياضيات ومدير نظام يونكس في مركز الكمبيوتر بالمعهد.

تحتوي مكتبة DISLIN على إجراءات ووظائف لعرض البيانات على شكل منحنيات ورسوم بيانية شريطية ومخططات دائرية ومخططات ملونة ثلاثية الأبعاد وأسطح وخطوط محيطية وخرائط.يتم دعم العديد من تنسيقات الإخراج مثل X11 وVGA وPostScript وPDF وCGM وHPGL وSVG وPNG وBMP وPPM وGIF وTIFF.

DISLIN متاح للغات البرمجة Fortran 77 وFortran 90/95 وC.يتم أيضًا دعم امتدادات التخطيط للغات Perl وPython وJava في معظم أنظمة التشغيل.الإصدار الحالي من DISLIN هو 9.4، وتم إصداره في أكتوبر 2008.تم إصدار الإصدار الأول 1.0 في ديسمبر 1986.

برنامج DISLIN مجاني للاستخدام غير التجاري.

حل ثقيل جداً:هل يمكن ربط ضد جذر, ، والذي سيفعل أي شيء تريده تقريبًا:

  • يعمل على ماك، ويندوز، ولينكس
  • يتم تجميعها أو استخدام برنامج Cint Interperter
  • الإخراج إلى ملف في حاشية مغلفة، PDF، GIF، PNG ...
  • العرض على الشاشة باستخدام العديد من التقنيات المختلفة
  • إجراء تسلسل للبيانات بتنسيق داخلي يمكن معالجته لاحقًا

بالتأكيد، هذا كثير جدًا بالنسبة لمعظم الناس، لكنه يفعل بالضبط ما طلبته.أستخدمه لأنني أعرفه وهو موجود بالفعل على أجهزتي لأنني من هذا النوع من الفيزيائيين.

وGNU القديم جيد، لديهم كل شيء ...

http://directory.fsf.org/project/plotutils/

وهذا هو بالتأكيد ليست الطريقة المثلى لكني عادة كتابة ملفات المخرجات التي يمكن قراءتها من قبل R واستخدام هذا، جنبا إلى جنب مع برنامج نصي المناسب، لرسم الرسوم البيانية.

والمشكلة هنا هي أن C ++، على عكس جافا على سبيل المثال، لا قد بنيت في واجهة المستخدم الرسومية أو الرسومات. إذا كنت تريد توليد الرسوم البيانية مع C ++ قد تحتاج إلى استخدام مكتبة واجهة المستخدم الرسومية المتاحة لنظام التشغيل الخاص بك. هناك مكتبات واجهة المستخدم الرسومية الحرة، عبر العديد من بلافورم مثل كيو تي أو GTK.

ولكن، وكما الآخرين قد أشار، وأسهل شيء بالنسبة لك أن تفعل سيكون لحفظ البيانات في ملف نصي، واستخدام برنامج آخر لتوليد الرسم البياني. gnuplot هو بالتأكيد خيارا جيدا. يأتي معيار مع معظم توزيعات لينكس، وتحصل على ويندوز تحت سيغوين.

فيما يتعلق بالتخطيط في C++ لأي شخص لم يفعل ذلك بعد.سأقول ما فعلته لرسم الرسوم البيانية في C++

  1. قم بتنزيل الملف المضغوط "gp443win32.zip" من http://sourceforge.jp/projects/sfnet_gnuplot/downloads/gnuplot/4.4.3/gp443win32.zip/

  2. استخراجها في "C: Gnuplot" ثم قرأت "C: GNUPLOT GNUPLOT readme.windows" وحصلت على هذه المعلومات:

  3. لقد استخدمت Windows 7 ==> لذلك تحتاج إلى تنزيل "winhlp32.exe"...ما عليك سوى البحث عنه "winhlp32.exe Windows 7" في محرك البحث والانتقال إلى الرابط الأول.

  4. إلحاق مسار المجلد الثنائي بمتغير البيئة "المسار" وهو "C:\Gnuplot\gnuplot\binary"

  5. ثم أقوم بإيقاف تشغيل جهاز الكمبيوتر الخاص بي وفتحه مرة أخرى.بعد أن وجدت أنه لم يستشعر التغيير في متغيرات البيئة :D

  6. تحتاج الآن إلى كتابة رمز عينة لاختبار قدرتك على التخطيط :) حتى تتمكن من زيارة هذا الرابطhttp://code.google.com/p/gnuplot-cpp/source/browse/#svn%2Ftrunkلرؤية ملف الرأس "gnuplot_i.hpp" والملف المصدر "example.cc".

سوف تحصل على العديد والعديد من الرسوم البيانية، اختر الرسم البياني المناسب لك، وقم بتخصيص جوهرك، واستمتع :)

إذا كنت على دراية matplotlib، يمكنك تضمين الثعبان في C / C ++ التطبيقات. اعتمادا على ما تريد من أجله، وهذا قد يكون حلا سريعا.

مدير التخطيط ديه ارتباطات لC ++. لقد استعملت مكتباتها .NET، ولقد كنت سعيدة جدا معهم. انها مكتبة رخيصة جدا، ويمنحك القوة لتفعل كل أنواع الرسوم البيانية المختلفة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top