Мне нужно построить график рассеяния, но с такими категориями, как все точки в классе, категория должна быть красной, или форма точки может быть квадратной, чтобы отличить ее от очков класса b, но я также не хочу, чтобы точки, которые должны быть соединены линиями, как в XYPlot. Я искал его и не смог найти ответ, поэтому, если вы обнаружите это как дублирующийся вопрос, пожалуйста, направить меня к оригинальному. СпасибоJfreechart разброс участка с категориями
1
A
ответ
0
Я играл с разбросанным сюжетом и смог решить проблему. следующий код решает его. 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);
}
}
Смежные вопросы
- 1. Matplotlib разброс участка с легендой
- 2. разброс участка с std-ошибкой
- 3. Обновление участка в JFreeChart
- 4. разброс участка с его собственным ID
- 5. Matplotlib разброс участка с неизвестной ошибкой
- 6. JFreeChart участка натурального логарифм е
- 7. JfreeChart разброс графика щелчок для всплывающей информации
- 8. matplotlib разброс участка с пользовательским cmap - цвета не правы
- 9. присвоение цвета dc.js разброс участка мешает с выбором на графике
- 10. ggplot2 разброс участка с наложением сред и двунаправленных SD-баров
- 11. Диаграмма VBA с несколькими категориями
- 12. JList с категориями
- 13. Рекомендации Mahout с категориями
- 14. Категория с категориями php
- 15. Выбрать список с категориями
- 16. Экспорт продуктов с категориями
- 17. отображение продуктов с категориями
- 18. автозаполнения с категориями
- 19. .NET URL с категориями
- 20. Dot Сюжеты с несколькими категориями - R
- 21. Врезной график с использованием JFreeChart
- 22. magento слияние атрибутов с категориями и только категориями
- 23. Функция участка участка
- 24. Matplotlib - линия участка, сходящаяся с рамкой участка
- 25. Контент участка участка сада
- 26. разброс графика из разных данных через matplotlib
- 27. JFreeChart Комбинированный график XY с временными рядами
- 28. Разброс участка лесс линия, лесс не показывать линию в данной области
- 29. Размер участка лесного участка
- 30. Проблема с производительностью - JFreeChart (XYDataSet)
Что вы пробовали? Отправьте сообщение [MCVE] (http://stackoverflow.com/help/mcve) для получения справки. – alex2410
Почему бы не использовать библиотеки графических объектов JavaFX? – SomethingSomething
Я пробовал это: http://www.tutorialspoint.com/jfreechart/jfreechart_xy_chart.htm, и это почти удовлетворяет мою потребность, но дело в том, что я не хочу, чтобы линии соединяли точки, но я хочу, чтобы точки из разных наборов данных отличались друг от друга , –