سؤال

لدي رسم بياني كبير موجه أود تصوره في صورة نقطية.

من الناحية المثالية ، أود أن أحصل على جميع العقد الجذرية في الجزء العلوي من الصورة ، وجميع العقد الورقية في الأسفل ، أي أن حواف الرسم البياني تشير جميعها في اتجاه أسفل.

هل هناك خوارزمية جيدة للعمل على إحداثيات جميع العقد التي تلبي هذه القيود وستنتج تصورًا جيدًا؟

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

المحلول

أنصحك بالاستخدام جفي.

هذا الناعم قادر على القيام بكل الأشياء التي تريدها ، وخاصة تخطيطات الرسم البياني!

نصائح أخرى

انظر الى GraphViz جمع البرمجيات. أنه يحتوي على العديد من البرامج لتقديم الرسوم البيانية.

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

شبكات بايزي لها متطلبات مماثلة. قد تبحث عن خوارزميات لشبكات بايزي. هذه الورقة على سبيل المثال قد يكون مفيدًا.

قد تكون مهتمًا برسم الرسم البياني الطبقات (المعروف أيضًا باسم "رسم الرسم البياني الهرمي" أو "رسم رسم بياني على غرار Sugiyama"). الخوارزمية طويلة جدًا لوصفها هنا ، لكن عمليات البحث في Google تثير العديد من التفسيرات الموثوقة.

يمكنك تجربة حزمة Go هذه التي كتبتها: https://github.com/h8liu/e8tools/tree/master/dagvis

مثال: http://lonnie.io/gostd/dagvis/

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