الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طلب مثال حول انشاء الـ XY Scatter في الجافا من فضلكم

بدأه المشاكـس5550 في 18 نوفمبر 2012 · 5 رد · 651 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

:happy:

عندي مجموعة من المعلومات اريد ان أحولها الى الرسم البياني XY Scatter او XY Charts عن طريق الجافا طبعا ، جربت البحث في موضوع 'رسم المخططات البيانية حق الاخ vector_ever' لكن للأسف لا يوجد هذا النوع

للتوضيح أكثر ، بدي مخطط تماما مثل هيك

250px-Scatter_diagram_for_quality_characteristic_XXX.svg.png

حيث توجد النقاط فقط بدون خطوط تربطها

Introduction+to+Charts++and++its+Types-005.png?version=1&modificationDate=1326802873477

كما جربت البحث عن كيفية انشاء هذا النوع من المخططات في الـ Excel ... لم أجد أي مثال :dry: وجدت المكتبات فقط :lol:

اذا كان هناك أمثلة بسيطة بكون ممنونكم :)

شكرا :wink:

556891961.gif

I am learning from you

it is the programmer eye

#2

السلام عليكم

- يوجد الرسم النقطي داخل مكتبة jFreeChart إليك بعض الروابط عن الموضوع :

http://stackoverflow...er-plot-utility

http://www.elegantjc...atter_graph.htm

http://stackoverflow...in-scatter-plot

http://www.java2s.co...-Plot-Chart.htm

ويمكنك إستخدام من خلال جوجل على الرابط التالي :

https://developers.g...ry/scatterchart

وهذه فئة أيضاً بخصوص نفس الموضوع

ScatterPlotTableDemo.java

عليك أن تجعل محرك البحث هو صديق الأول الذي تسأله دائماً في البداية فهو أسرع من يجيبك

إن لم تجد ما تريد تحديداً إذا عليك التعديل على أي من الفئات لتناسبك طبعاً تحت شروط رخصة البرمجيات الحرة .

1

لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق

لا إله إلا أنت سبحانك إني كنت من الظالمين

#3

مشكور اخوي أحمد :lol: ... لو تصدق ، لقد مررت بهاي الروابط أكثر من مرة وهناك مواقع أخرى :blink:

في البداية ، أضفت الـ JfreeChart 1.0.14 وهنا ظهرت المشكلة الاولى :dry: وهو عدم وجود مجلد ui في هذه المكتبة

الخطأ يظهر في هذا السطر

import org.jfree.ui.ApplicationFrame;

نص الخطأ :

package org.jfree.ui does not exist

Unused Import

من هنا جربت البحث عن طرق أخرى 'بطبيعة الوقت الضيق لدي :blush: ' لكني للأسف لم أحصل على أي شي .... حتى ان هناك مكتبات أخرى ، ... :wacko:

شكرا :)

556891961.gif

I am learning from you

it is the programmer eye

#4
المشاكـس5550 كتب:

في البداية ، أضفت الـ JfreeChart 1.0.14 وهنا ظهرت المشكلة الاولى :dry: وهو عدم وجود مجلد ui في هذه المكتبة

الخطأ يظهر في هذا السطر

import org.jfree.ui.ApplicationFrame;

نص الخطأ :

package org.jfree.ui does not exist

Unused Import

الحمد لله لقد وجدت الحل حق هاي المشكلة .... يعني كلو متعلق بالمكتبات ، لقد أضفت مكتبة JCommon وانحلت المشكلة

ولهذا نصيحة مني لكم : كل مرة تستعملون المكتبة JFreeChart لازم تضيفون ايضا المكتبة JCommon ... استغرقت 5 ساعات للوصول الى الحل لذلك لا تقعوا في هذا الخطأ مثلي

بانتظار مثال بسيط عن الـ XY Scatter سلمكم الله :lol:

556891961.gif

I am learning from you

it is the programmer eye

#5

لماذا الحاجة إلى تضمين مكتبات خارجية ؟

أظن أن فئات الــ Graphics تكفي لهذا الأمر, انظر :

import java.awt.Color;
import java.awt.Graphics;
import java.awt.geom.Point2D;
import java.util.*;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class XYScatter extends JFrame {

    private List coords = new ArrayList();

    public XYScatter() {
        super("XY Scatter");
        setSize(600, 500);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBackground(Color.WHITE);

        for (int j = 0, i = 0; j < 100; i++, j++) {
            Random rand = new Random();
            coords.add(new Point2D.Float(i + rand.nextInt(100), j + rand.nextInt(100)));
            Collections.shuffle(coords);
        }

        JPanel panel = new JPanel() {

            public void paintComponent(Graphics g) {
                int wth = getWidth();
                int hgt = getHeight();
                for (Iterator i = coords.iterator(); i.hasNext();) {
                    Point2D.Float pt = (Point2D.Float) i.next();
                    g.setColor(Color.BLUE);
                    g.fillOval((int) (pt.x + wth / 2) - 2, (int) (-pt.y + hgt / 2) - 2, 4, 4);
                }

                int width = getWidth();
                int height = getHeight();
                setVisible(true);
                g.setColor(Color.black);
                g.drawLine(0, height / 2, width, height / 2);
                g.drawLine(width / 2, 0, width / 2, height);

                g.setColor(Color.black);
                g.drawString(" 94", width / 2 - 30, height / 2 - 10);
                g.drawString(" 96", width / 2 - 30, height / 2 - 40);
                g.drawString(" 98", width / 2 - 30, height / 2 - 70);
                g.drawString(" 100", width / 2 - 30, height / 2 - 100);
                g.drawString(" 102", width / 2 - 30, height / 2 - 130);
                g.drawString(" 0", width / 2 + 10, height / 2 + 20);
                g.drawString(" 5", width / 2 + 50, height / 2 + 20);
                g.drawString(" 10", width / 2 + 90, height / 2 + 20);
                g.drawString(" 15", width / 2 + 130, height / 2 + 20);
                g.drawString(" 20", width / 2 + 170, height / 2 + 20);

                g.drawOval(width / 2 - 3, height / 2 - 3, 6, 6);
            }
        };
        setContentPane(panel);

        int width = getWidth();
        int height = getHeight();
        setBounds(20, 20, width, height);
        setVisible(true);
        try {
            jbInit();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    public static void main(String[] args) {
        new XYScatter();
    }

    private void jbInit() throws Exception {
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
}

المُخرجات :

post-219439-047855700 1353284031_thumb.p
المرفقات
Example.png
1
#6

في الـ JFreeChart نستطيع تكبير منطقة معينة من المخطط 'في حالة كان لدينا نقاط متقاربة لا ترى بالعين :wacko: ' اما في غيره فلا اعتقد :)

مشكور

556891961.gif

I am learning from you

it is the programmer eye

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…