簡體   English   中英

具有類別的Jfreechart散點圖

[英]Jfreechart scatter plot with categories

我需要繪制散點圖,但類別應與類中的所有點一樣,類別應為紅色,或者點形可以是正方形,以將其與b類點區分開來,但是我也不想像XY圖 我已經搜索了它,卻找不到答案,因此,如果您發現這個問題是重復的,請將我直接轉到原始問題。 謝謝

我玩過散點圖,能夠解決問題。 以下代碼解決了它。 setupData()將類名作為輸入,並對其進行基本分類。 我沒早看。 我希望它可以幫助面臨同樣問題的人們。

package graph.generator;


import java.util.ArrayList;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.ui.ApplicationFrame;

public class GenerateScatterPlot extends ApplicationFrame{

    static XYSeriesCollection dataset;

    public GenerateScatterPlot(String applicationTitle) {
        super(applicationTitle);
        JFreeChart chart = ChartFactory.createScatterPlot("Coordinates", "X", "Y", setupData(), PlotOrientation.VERTICAL,true,true,false); 
        NumberAxis domainAxis = (NumberAxis) chart.getXYPlot().getDomainAxis();
        domainAxis.setAutoRangeIncludesZero(false);
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
        chartPanel.setVerticalAxisTrace(true);
        chartPanel.setHorizontalAxisTrace(true);
        setContentPane(chartPanel);
    }

    public static XYDataset setupData() {
        return dataset;
    }

    public static void addToSet(ArrayList<ArrayList<Double>> coordinates, String classOfData)
    {
        if(dataset == null)
        {
            dataset = new XYSeriesCollection();
        }

        XYSeries series = new XYSeries(classOfData);
        for (ArrayList<Double> arrayList : coordinates) {
            series.add(arrayList.get(0),arrayList.get(1));
        }

        dataset.addSeries(series);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM