JFreeChart - это библиотека классов классов с открытым графиком на платформе Java. Он полностью написан на Java Language и предназначен для приложений, апплетов, сервлетов и JSP. JFreeChart может генерировать круговые диаграммы, барные диаграммы, графики рассеяния, временные ряды, диаграммы Gantt и другие диаграммы, а также могут генерировать выход в форматах PNG и JPEG, а также могут быть связаны с PDF и Excel.
Пример линейной диаграммы
пакет com.sprite.test; Импорт java.io.file; Импорт java.io.filenotFoundException; Импорт java.io.fileOutputStream; импортировать java.io.ioexception; Импорт org.jfree.chart.chartfactory; Импорт org.jfree.chart.chartuTities; Импорт org.jfree.chart.jfreechart; Импорт org.jfree.chart.labels.standardcategoryitemlabelgenerator; Импорт org.jfree.chart.plot.categoryplot; Импорт org.jfree.chart.plot.plotorientation; Импорт org.jfree.chart.renderer.category.lineandshaperenderer; Import org.jfree.data.category.categoryDataset; Импорт org.jfree.data.general.dataseTutulity; // jfreechart Line Hark (Line Hart) Открытый класс TestJfreechart {/** * Создать линейную диаграмму JFreeChart (линейная диаграмма) */public static void main (string [] args) {// Шаг 1: Создание объекта CategoryDataset (подготовка данных) CategoryDataset dataSet = creativeAtaset (); // Шаг 2: Сгенерировать объект jfreeChart в соответствии с набором данных и сделать соответствующие настройки jfreechart freeChart = createChart (набор данных); // Шаг 3: Вывод объекта JFreeChart в файл, выходной поток сервиса и т. Д. Saveasfile (FreeChart, "E: //line.jpg", 600, 400); } // Сохранить как файл public static void saveasfile (диаграмма jfreechart, String outputpath, int вес, int oute) {fileOutputStream out = null; try {file outfile = new File (outputPath); if (! outfile.getParentFile (). существует ()) {outfile.getParentFile (). mkdirs (); } out = new FileOutputStream (outputPath); // Сохранить как png // chartuTities.WriteChartaspng (out, диаграмма, 600, 400); // Сохранить как jpeg chartutilities.writechartasjpeg (out, chart, 600, 400); out.flush (); } catch (filenotFoundException e) {e.printstackTrace (); } catch (ioException e) {e.printstackTrace (); } наконец {if (out! = null) {try {out.close (); } catch (ioException e) {// ничего не делать}}}}} // Создание объекта jfreeChart на основе категории. Рассчитано по часу ", // заголовок" Дивизион года ", // CategoryAxislabel (категория оси, горизонтальная ось, метка оси x)" Количество ", // valueaxislabel (ось значения, вертикальная ось, метка оси y) категория, // trithorydatset, // dataSet ploweration.verteman, true, // / / legence alsepset, // tristtips); // URL // Использование категории для установки различных параметров. Следующие настройки могут быть опущены. CategoryPlot plot = (CategoryPlot) jfreeChart.getPlot (); // фоновый цвет прозрачности. Setackbackgroundalpha (0,5F); // Прозрачность на переднем плане. // для других настройки см. В классе категории LineAndshaperenderer renderer = (lineAndshaperenderer) plot.getRenderer (); renderer.setbaseShapesvisible (true); // точка серии (то есть точка данных) может быть видимой рендерер. Setbaselinesvisible (true); // Серия Существует связь между точками (то есть точками данных), и можно увидеть renderer.setuseSeriesoffset (true); // Установите Offset renderer.setBaseItemLabelGenerator (new StandardCategoryitemLabelGenerator ()); renderer.setbaseitemlabelsvisible (true); вернуть JFreeChart; } / *** Создать объект CategoryDataset** / public static CategoryDataset createAtaset () {String [] rowkeys = {"a платформа"}; String [] colkeys = {"0:00", "1:00", "2:00", "7:00", "8:00", "9:00", "10:00", "11:00", "12:00", "13:00", "16:00", "20:00", "21:00", "23:00" "; Double [] [] data = {{4, 3, 1, 1, 1, 1, 2, 2, 2, 1, 8, 2, 1, 1},}; // или использовать код, аналогичный следующему // defaultCategoryDataset CategoryDataset = new // defaultCategoryDataset (); // CategoryDataset.AddValue (10, "Rowkey", "Colkey"); return DataSetutitiess.createCategoryDataset (Rowkeys, Colkeys, Data); }}Генерировать визуализации:
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.