須要導入的jar包java
生成柱狀圖ide
- import java.awt.Font;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import org.jfree.chart.ChartFactory;
- import org.jfree.chart.ChartUtilities;
- import org.jfree.chart.JFreeChart;
- import org.jfree.chart.StandardChartTheme;
- import org.jfree.chart.plot.PlotOrientation;
- import org.jfree.data.category.CategoryDataset;
- import org.jfree.data.category.DefaultCategoryDataset;
- /**
- * 該類用於演示最簡單的柱狀圖生成
- * @author Winter Lau
- */
- public class BarChartDemo {
- public static void main(String[] args) throws IOException{
- //建立主題樣式
- StandardChartTheme standardChartTheme=new StandardChartTheme("CN");
- //設置標題字體
- standardChartTheme.setExtraLargeFont(new Font("隸書",Font.BOLD,20));
- //設置圖例的字體
- standardChartTheme.setRegularFont(new Font("宋書",Font.PLAIN,15));
- //設置軸向的字體
- standardChartTheme.setLargeFont(new Font("宋書",Font.PLAIN,15));
- //應用主題樣式
- ChartFactory.setChartTheme(standardChartTheme);
- CategoryDataset dataset = getDataSet();
- JFreeChart chart = ChartFactory.createBarChart3D(
- "水果產量圖", // 圖表標題
- "水果", // 目錄軸的顯示標籤
- "產量", // 數值軸的顯示標籤
- dataset, // 數據集
- PlotOrientation.VERTICAL, // 圖表方向:水平、垂直
- true, // 是否顯示圖例(對於簡單的柱狀圖必須是 false)
- false, // 是否生成工具
- false // 是否生成 URL 連接
- );
- FileOutputStream fos_jpg = null;
- try {
- fos_jpg = new FileOutputStream("D:\\fruit.jpg");
- ChartUtilities.writeChartAsJPEG(fos_jpg,chart,400,300);
- } finally {
- try {
- fos_jpg.close();
- } catch (Exception e) {}
- }
- }
- /**
- * 獲取一個演示用的簡單數據集對象
- * @return
- */
- private static CategoryDataset getDataSet() {
- DefaultCategoryDataset dataset = new DefaultCategoryDataset();
- dataset.addValue(100, "", "蘋果");
- dataset.addValue(200, "", "梨子");
- dataset.addValue(300, "", "葡萄");
- dataset.addValue(400, "", "香蕉");
- dataset.addValue(500, "", "荔枝");
- return dataset;
- }
- /**
- * 獲取一個演示用的組合數據集對象
- * @return
- */
- private static CategoryDataset getDataSet2() {
- DefaultCategoryDataset dataset = new DefaultCategoryDataset();
- dataset.addValue(100, "北京", "蘋果");
- dataset.addValue(100, "上海", "蘋果");
- dataset.addValue(100, "廣州", "蘋果");
- dataset.addValue(200, "北京", "梨子");
- dataset.addValue(200, "上海", "梨子");
- dataset.addValue(200, "廣州", "梨子");
- dataset.addValue(300, "北京", "葡萄");
- dataset.addValue(300, "上海", "葡萄");
- dataset.addValue(300, "廣州", "葡萄");
- dataset.addValue(400, "北京", "香蕉");
- dataset.addValue(400, "上海", "香蕉");
- dataset.addValue(400, "廣州", "香蕉");
- dataset.addValue(500, "北京", "荔枝");
- dataset.addValue(500, "上海", "荔枝");
- dataset.addValue(500, "廣州", "荔枝");
- return dataset;
- }
- }
生成餅圖工具
- import java.awt.Font;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import org.jfree.chart.ChartFactory;
- import org.jfree.chart.ChartUtilities;
- import org.jfree.chart.JFreeChart;
- import org.jfree.chart.StandardChartTheme;
- import org.jfree.data.general.DefaultPieDataset;
- /**
- * 用於演示餅圖的生成
- * @author Winter Lau
- */
- public class PieChartDemo {
- public static void main(String[] args) throws IOException{
- //建立主題樣式
- StandardChartTheme standardChartTheme=new StandardChartTheme("CN");
- //設置標題字體
- standardChartTheme.setExtraLargeFont(new Font("隸書",Font.BOLD,20));
- //設置圖例的字體
- standardChartTheme.setRegularFont(new Font("宋書",Font.PLAIN,15));
- //設置軸向的字體
- standardChartTheme.setLargeFont(new Font("宋書",Font.PLAIN,15));
- //應用主題樣式
- ChartFactory.setChartTheme(standardChartTheme);
- DefaultPieDataset data = getDataSet();
- JFreeChart chart = ChartFactory.createPieChart("水果產量圖", // 圖表標題
- data,
- true, // 是否顯示圖例
- false,
- false
- );
- // 寫圖表對象到文件,參照柱狀圖生成源碼
- FileOutputStream fos_jpg = null;
- try {
- fos_jpg = new FileOutputStream("D:\\fruit.jpg");
- ChartUtilities.writeChartAsJPEG(fos_jpg,chart,400,300);
- } finally {
- try {
- fos_jpg.close();
- } catch (Exception e) {}
- }
- }
- /**
- * 獲取一個演示用的簡單數據集對象
- * @return
- */
- private static DefaultPieDataset getDataSet() {
- DefaultPieDataset dataset = new DefaultPieDataset();
- dataset.setValue("蘋果",100);
- dataset.setValue("梨子",200);
- dataset.setValue("葡萄",300);
- dataset.setValue("香蕉",400);
- dataset.setValue("荔枝",500);
- return dataset;
- }
- }