سؤال

بعد أن رأيت بعض اقتراحات بالنسبة للرسوم البيانية، أتساءل ما هو الأمثل لمشكلتي.

أريد تقديم رسم بياني موجه إلى Servlet / صورة يتم عرضها في المتصفح. يجب أن يكون هناك نوع من التحسين من الموقف. لا الإعتماد على التأرجح سيكون المفضل. الخوارزميات ليست مهمة، حيث يتم تحديد هيكل الرسم البياني من خلال المنطق التجاري. سيكون من النمط أن تكون قادرا على إضافة ملصقات للحواف أيضا. سيكون الأمثل إذا كان بإمكاني تقديم هذا مثل PNG / SVG.

ما هي المكتبة / الخدمة التي تنصح بها؟

الإيضاحات:

1) السؤال هو كل شيء عن الرسوم البيانية - مثل الرسم البياني Acyclic الموجه - ليس - الرسوم البيانية.

2) Flot، Google Charts - لا يمكن رسم الرسوم البيانية، فقط الرسوم البيانية، أو هل فاتني شيئا؟

3) لا أنا لا أحتاج إلى التفاعل

4) سيكون Graphviz جميلا، لكن مكتبة Grappa Java قديمة جدا ومصندة على التأرجح / AWT. في حين أنه قد يكون من الناحية النظرية من الناحية النظرية لعرض التأرجح إلى الصور، فإنه لن يكون طريقي المفضل حتى في تطبيق الخادم.

5) سيكون من الرعد استخدام خدمة عبر الإنترنت حيث لا يتم استضافتها الصور محليا.

تحرير: أضف روابط إلى ويكيبيديا لتوضيح الرسم البياني / الرسم البياني

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

المحلول

بالإضافة إلى أن أسابيع الانتظار لسماع الإطار السحري الذي سيحل جميع مشاكلك في سطر واحد من التعليمات البرمجية، هناك أيضا خيار آخر لكتابة بعض الكود بنفسك للقيام بالضبط ما تريد ... (أنا لست كذلك قائلا إنه عمل 10 دقائق، لكنه ربما يوم أو يومين، ونشر سؤالك أكثر من أسبوعين ...)

هل كان لديك نظرة، على سبيل المثال، في دخول ويكيبيديا الخوارزميات القائمة على القوة- لديه pseudocode وبعض الروابط التي قد تكون مفيدة.

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

نصائح أخرى

إلقاء نظرة على graphviz.

Yfiles. قد تكون مفيدة لهذا.

ماذا عن مكون DOT في Graphviz؟ إنها تنتج الرسوم البيانية (وليس المخططات)، والمخرجات إلى PNG و SVG، ودعم حواف وضع العلامات. يمكنك قصف إلى DOT لتوليد الصورة التي تحتاجها، وإرجاع علامة IMG التي تشير إلى ذلك. بدلا من ذلك، يمكنك إرجاع علامة IMG التي تشير إلى عنوان URL الذي سيولد الرسم البياني المطلوب (أو استرداد نسخة مخزنة مؤقتا). إليك معلومات DOT:

http://www.graphviz.org/pdf/dotguide.pdf.

قد نلقي نظرة على WebDOT، والتي تم تصميمها على ما يبدو لهذا الغرض:

http://www.graphviz.org/webdot/

يحاول aisee.. وبعد يتم استخدامه من قبل جميع أنواع التطبيقات المستندة إلى الويب بيانات التعدين, تحليل البرنامج الثابت, مصفوفة التصور, تحليل الشبكات, ، وليس. كما يستخدم من قبل البعض ميدياويكيس كما backenout الرسم البياني الخاص بهم.

لديهم قاعدة بيانات ضخمة من الرسوم البيانية عينة أكثر من isee.com. تحقق من ذلك. وهو يدعم تسميات الحافة والتصدير إلى SVG و HTML المعين، ولا يعتمد على التأرجح.

نخلق mxgraph. لمثل هذه المتطلبات. فعلنا بالفعل إطلاقها في عام 2006، لكننا استغرق بعض الوقت لإشعار هذا السؤال ...

بالنسبة خادم خادم, ، يحاول يونغ, ، يمكنك تشغيله باتيك وإنتاج ملفات SVG أو PNG الجميلة. لدى يونغ تصميم جميل وخوارزميات تخطيط قوية للغاية ...

أيضا، لأنك تذكر ذلك "سيكون على ما يرام استخدام خدمة الإنترنت", ، graphviz توفر خدمة تسمى WebDot لتقديم الرسوم البيانية.

هناك آخرون على طول هذا الخط كذلك ... على سبيل المثال http://graph.gafol.net/ (يبدو أن يكون أسفل)

جانب العميل:

  • يحاول http://arborjs.org/ للحصول على مكتبة الحد الأدنى (ISH)، فهي مخصصة للتخطيط، واستخدام هذا هو الذي ترغب في تفضيل إجراءات التقديم الخاصة بك (DIV، CANVAS، SVG، Paper.js، معالجة ... إلخ).

  • أحب أيضا http://sigmajs.org/ لنهج أكثر اكتمالا، وبناء على دعم اللمس، الإضافات، تنسيقات الملفات، إلخ.

ومن المثير للاهتمام أن مشروع Eclipse يحتوي على مكون / إطار SWT / JFACE قادر على عرض وتوليد (استيراد / تصدير) تنسيق "DOT" Graphviz، في Java النقي:

ZEST (الصفحة الرئيسية وروابط التنزيل)

يرى http://wiki.eclipse.org/graphviz_dot_as_a_dsl_for_zest. للحصول على أمثلة الاستخدام.

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

هتافات

ثري

قد تحاول Sigma.js: http://sigmajs.org/

إنها مكتبة مصدرة خفيفة الوزن ومفتوحة في جافا سكريبت لعرض الرسوم البيانية الكبيرة على الويب.

jpgd. هو محلل الجرافيز في جافا. انه قليل مهجور، لكن الكود جميل وواضح، وإذا وجدت أخطاء، فأنا متأكد من أن المؤلف سيقبل الإصلاحات المساهمة.

على الرغم من التعلن عنه كمحلل، إلا أنه أيضا مولد. يمكنك إنشاء رسوم بيانية كجموعات من العقدة والكائنات الحافة، ثم احصل على .DOT باستخدام Graph.toString (). الحصول على هذا كشركة ستكون قذيفة بسيطة خارج إلى DOT Process Cournable.

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

digraph myGraph {

... تليها تعريف حافة واحدة لكل حافة

node1 -> node2 ;

... تليها هدف إغلاق

}

لذلك أخذت Alook على جميع الإجابات والروابط المعينة، يبدو بادئة/توهج سوف من خلال الاختيار الأمثل. لديهم مرائر جذابة للغاية، بالإضافة إلى أنها بنيت في دعم الرسوم البيانية.

ربما تحقق من مخططات جوجل?

يمكنك استخدام SVG في تركيبة مع الباتيك. لقد استخدمت هذه عدة مرات لعرض الرسومات. باتيك مع جافا 1.5 سريع جدا. مع هذا الحل، يمكنك برمج الرسم البياني الخاص بك في Java بدون اعتماد على التأرجح. يمكنك إضافة ملصقات حيث تريد، استضافها كفعافة وعرضها كما PNG أو SVG.

يمكنك إنشاء الرسوم البيانية في SVG (هذا مستند XML).
انت تستخدم باتيك لتحويل وثيقة SVG إلى صورة PNG / JPG.
يمكنك استخدام Servlet لتدفق هذه الصورة مرة أخرى إلى المتصفح.

في Java تقوم ببناء مستند SVG (= XML). يمكن العثور على عينات لرسوم الرسوم البيانية SVG هنا:مخطط موجه و هنا: رسم بياني موجه بسيط

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

يمكنني أن أوصي بشكل كامل غلاف - ممتاز!

يرى أمثلة هنا.

jfreecharrt. قد تكون بالطريقة التي تريد الذهاب إليها، ولكن يمكنك التمييز بين الرسوم البيانية والرسوم البيانية. ربما يمكنك شرح ما تقصد بذلك. لقد استخدمت هذه المصطلحات عادة. :)

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

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