На круговой диаграмме длина дуги каждого сектора пропорциональна величине, которую он представляет. Эта глава демонстрирует — как мы можем использовать JFreeChart для создания круговой диаграммы из заданного набора бизнес-данных.
Бизнес данные
В следующем примере показана мобильная продажа с помощью круговой диаграммы. Ниже приведен список различных мобильных брендов и их продажи (единиц в день).
S.No | Мобильные бренды | Продажи (ЕД. В день) |
---|---|---|
1 | Айфон 5с | 20 |
2 | Samsung Grand | 20 |
3 | MOTO G | 40 |
4 | Нокиа Люмия | 10 |
Приложение на основе AWT
Ниже приведен код для создания круговой диаграммы с использованием приведенной выше информации. Этот код помогает вам встроить круговую диаграмму в любое приложение на основе AWT.
import javax.swing.JPanel; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.data.general.DefaultPieDataset; import org.jfree.data.general.PieDataset; import org.jfree.ui.ApplicationFrame; import org.jfree.ui.RefineryUtilities; public class PieChart_AWT extends ApplicationFrame { public PieChart_AWT( String title ) { super( title ); setContentPane(createDemoPanel( )); } private static PieDataset createDataset( ) { DefaultPieDataset dataset = new DefaultPieDataset( ); dataset.setValue( "IPhone 5s" , new Double( 20 ) ); dataset.setValue( "SamSung Grand" , new Double( 20 ) ); dataset.setValue( "MotoG" , new Double( 40 ) ); dataset.setValue( "Nokia Lumia" , new Double( 10 ) ); return dataset; } private static JFreeChart createChart( PieDataset dataset ) { JFreeChart chart = ChartFactory.createPieChart( "Mobile Sales", // chart title dataset, // data true, // include legend true, false); return chart; } public static JPanel createDemoPanel( ) { JFreeChart chart = createChart(createDataset( ) ); return new ChartPanel( chart ); } public static void main( String[ ] args ) { PieChart_AWT demo = new PieChart_AWT( "Mobile Sales" ); demo.setSize( 560 , 367 ); RefineryUtilities.centerFrameOnScreen( demo ); demo.setVisible( true ); } }
Давайте сохраним приведенный выше Java-код в файле PieChart_AWT.java , а затем скомпилируем и запустим его из команды, отображаемой как —
$javac PieChart_AWT.java $java PieChart_AWT
Если все в порядке, он скомпилируется и запустится, чтобы сгенерировать следующий круговой график —
Если вам не нужно вставлять диаграмму в какое-либо приложение, вы можете создавать изображения диаграмм в командной строке. JFreeChart позволяет сохранять изображения диаграмм в форматах JPG или PNG.
Создание изображения JPEG
Давайте перепишем приведенный выше пример, чтобы сгенерировать изображение JPEG из командной строки. Ниже приведены два API-интерфейса, предоставляемые библиотекой JFreeChart, которые вы можете использовать для создания изображений PNG или JPEG в соответствии с вашими требованиями.
-
saveChartAsPNG () — API для сохранения изображения в формате PNG.
-
saveChartAsJPEG () — API для сохранения изображения в формате JPEG.
saveChartAsPNG () — API для сохранения изображения в формате PNG.
saveChartAsJPEG () — API для сохранения изображения в формате JPEG.
import java.io.*; import org.jfree.chart.ChartUtilities; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.data.general.DefaultPieDataset; public class PieChart { public static void main( String[ ] args ) throws Exception { DefaultPieDataset dataset = new DefaultPieDataset( ); dataset.setValue("IPhone 5s", new Double( 20 ) ); dataset.setValue("SamSung Grand", new Double( 20 ) ); dataset.setValue("MotoG", new Double( 40 ) ); dataset.setValue("Nokia Lumia", new Double( 10 ) ); JFreeChart chart = ChartFactory.createPieChart( "Mobile Sales", // chart title dataset, // data true, // include legend true, false); int width = 640; /* Width of the image */ int height = 480; /* Height of the image */ File pieChart = new File( "PieChart.jpeg" ); ChartUtilities.saveChartAsJPEG( pieChart , chart , width , height ); } }
Давайте сохраним указанный выше Java-код в файле PieChart.java , а затем скомпилируем и запустим его из команды, отображаемой как —
$javac PieChart.java $java PieChart
Если все в порядке, он скомпилируется и запустится для создания файла изображения JPEG с именем PieChart.jpeg в вашем текущем каталоге.