[英]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.