سؤال

أعلم أن هناك العديد من المقارنات من مكتبات تخطيط جافا هناك، لكنني لا أجد ما أحتاج إليه. أريد فقط مجموعة أدوات بسيطة من العقل التي تخلق صورا من SCatterPlots من مجموعة من الإحداثيات. لا واجهة المستخدم الرسومية، لا تفاعل، لا شاشة خيالية، مجرد نظام تنسيق XY الأساسي مع النقاط.

لن يكون ذلك نهاية العالم لاستخدام شيء يوفر وظيفة أكثر بكثير مما أحتاج إليه، لكنني أفضل ذلك. هل تعرف أي شيء مثل ما أبحث عنه؟

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

المحلول

هل نظرت في jfreecharrt.ب بينما يمكن أن تفعل بعض الأشياء المتقدمة للغاية، فإنها تفعل أيضا البسيطة كذلك. المعروضة أدناه هي لقطة شاشة لقدرة المؤامرة مبعثرة.

alt text
(مصدر: jfree.org.)

نصائح أخرى

نظرت حول ما كان موجودا، وأدركت أن JCCKIT جيدة تقنيا، لكن فقط يفتقر إلى مجمع بسيط من حوله لجعله سهل الاستخدام.

لذلك أزعجت ذلك وجعلت غلاف بسيط حقا. إليك كيفية استخدام:

import static easyjcckit.QuickPlot.*;

double[] xaxis = new double[]{0,1,2,3,4,5};
double[] yvalues = new double[]{0,1,4,9,16,25};
scatter( xaxis, yvalues ); // create a plot using xaxis and yvalues
double[] yvalues2 = new double[]{0,1,2,3,4,5};
addScatter( xaxis, yvalues2 ); // create a second plot on top of first

System.out.println("Press enter to exit");
System.in.read();

بالإضافة إلى مؤامرات مبعثرة، يمكنك إضافة خطوط بحرية إلى نفس المحاور إذا كنت ترغب في استخدام "AddPlot" و "مؤامرة".

هنا هو الرمز: https://bitbucket.org/hughperkins/easyjckit.

يمكنك استخدام JPanel مخصص لرسم بياناتك (غير اختبارها، لكن تحصل على الفكرة ...)

private List<Point2D> data=(...);

JPanel pane=new JPanel()
{
protected paintComponent(Graphics2D g)
{
super.paintComponent(g);
int minx=(...),miny=(...),maxx=(...),maxy=(...);
for(Point2D p: data)
 {
 int x=((p.getX()-minx)/(maxx-minx))*this.getWidth();
 int y=((p.getY()-miny)/(maxy-miny))*this.getHeight();
 g.drawLine(x-5,y,x+5,y);
 g.drawLine(x,y-5,x,y+5);
 }
}
pane.setOpaque(true);
(...)
anotherComponent.add(pane);
(...)
}

كما يمكنك التحقق مخطط جافا بسيط. وبعد الحد الأدنى من المثال (لا توجد خيارات):

Plot plot = Plot.plot(null).
    // setting data
    series(null, Plot.data().
        xy(1, 2).
        xy(3, 4), null);
// saving sample_minimal.png
plot.save("sample_minimal", "png");
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top