JfreeChart常用表格繪制
繪制普通柱狀圖——垂直
package com.offcn.utils;
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.DefaultCategoryDataset;
import java.awt.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class BarChart1 {
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));
//創建資料集
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(250,"深圳","橘子");
dataset.addValue(300,"廣東","綠茶");
dataset.addValue(170,"海南","菠蘿");
dataset.addValue(280,"西藏","馬奶");
dataset.addValue(115,"北京","烤鴨");
//使用樣式
ChartFactory.setChartTheme(standardChartTheme);
//呼叫工廠方法生成柱狀圖
JFreeChart chart = ChartFactory.createBarChart3D("商品營銷圖","商品","銷售",dataset, PlotOrientation.VERTICAL,true,true,false);
FileOutputStream out = new FileOutputStream("C:\\Users\\85780\\Desktop\\表格\\bar1.jpg");
//生成圖片
ChartUtilities.writeChartAsJPEG(out,chart,700,500);
System.out.println("創建垂直柱狀圖成功");
}
}
效果圖:

繪制普通柱狀圖——水平
package com.offcn.utils;
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.DefaultCategoryDataset;
import java.awt.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class BarChart1 {
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));
//創建資料集
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(250,"深圳","橘子");
dataset.addValue(300,"廣東","綠茶");
dataset.addValue(170,"海南","菠蘿");
dataset.addValue(280,"西藏","馬奶");
dataset.addValue(115,"北京","烤鴨");
//使用樣式
ChartFactory.setChartTheme(standardChartTheme);
//呼叫工廠方法生成柱狀圖
JFreeChart chart = ChartFactory.createBarChart3D("商品營銷圖","商品","銷售",dataset, PlotOrientation.HORIZONTAL,true,true,false);
FileOutputStream out = new FileOutputStream("C:\\Users\\85780\\Desktop\\表格\\bar2.jpg");
//生成圖片
ChartUtilities.writeChartAsJPEG(out,chart,700,500);
System.out.println("創建水平柱狀圖成功");
}
}
效果圖:

多資料型別柱狀圖
package com.offcn.utils;
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.general.DatasetUtilities;
import java.awt.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class BarChart2 {
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));
//創建資料集
double data[][] ={{250,188,340,450},{180,245,543,109},{356,321,524,221},{289,105,180,199}};
String rowKeys[] ={"蘋果","香蕉","橘子","梨子"};
String columsKeys[]={"深圳","北京","廣州","上海"};
CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columsKeys, data);
//使用樣式
ChartFactory.setChartTheme(standardChartTheme);
//呼叫工廠方法生成柱狀圖
JFreeChart chart = ChartFactory.createBarChart3D("水果銷售圖", "水果", "銷售", dataset, PlotOrientation.VERTICAL, true, true, false);
//呼叫工具類生成圖片
FileOutputStream out = new FileOutputStream("C:\\Users\\85780\\Desktop\\表格\\bar3.jpg");
ChartUtilities.writeChartAsJPEG(out,chart,700,500);
System.out.println("創建柱狀圖成功");
}
}
效果圖:

餅狀圖
package com.offcn.utils;
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;
import java.awt.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class BarChart3 {
public static void main(String[] args) throws IOException {
//創建主題樣式
StandardChartTheme standardChartTheme=new StandardChartTheme("CN");
//設定標題字體
standardChartTheme.setExtraLargeFont(new Font("隸書", Font.BOLD,20));
//定義資料集
DefaultPieDataset defaultPieDataset = new DefaultPieDataset();
defaultPieDataset.setValue("JAVA",9);
defaultPieDataset.setValue("php",15);
defaultPieDataset.setValue("web",25);
defaultPieDataset.setValue("ui",30);
//使用樣式
ChartFactory.setChartTheme(standardChartTheme);
//創建物件
JFreeChart chart = ChartFactory.createPieChart3D("學員比例圖", defaultPieDataset, true, true, false);
//呼叫工具類生成圖片
FileOutputStream out = new FileOutputStream("C:\\Users\\85780\\Desktop\\表格\\bar4.jpg");
ChartUtilities.writeChartAsJPEG(out,chart,700,500);
System.out.println("創建餅狀圖成功");
}
}
效果圖:

條形圖
package com.offcn.utils;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.StandardChartTheme;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.data.category.DefaultCategoryDataset;
import java.awt.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class BarChart4 {
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));
//創建資料集
DefaultCategoryDataset datas = new DefaultCategoryDataset();
datas.addValue(150,"北京","蘋果");
datas.addValue(200,"上海","蘋果");
datas.addValue(300,"廣州","蘋果");
datas.addValue(200,"北京","梨子");
datas.addValue(300,"上海","梨子");
datas.addValue(400,"廣州","梨子");
datas.addValue(120,"北京","葡萄");
datas.addValue(220,"上海","葡萄");
datas.addValue(250,"廣州","葡萄");
datas.addValue(200,"北京","香蕉");
datas.addValue(300,"上海","香蕉");
datas.addValue(320,"廣州","香蕉");
datas.addValue(300,"北京","荔枝");
datas.addValue(380,"上海","荔枝");
datas.addValue(420,"廣州","荔枝");
//使用樣式
ChartFactory.setChartTheme(standardChartTheme);
//創建圖表
JFreeChart chart = ChartFactory.createLineChart("水果銷量表", "水果", "銷量", datas, PlotOrientation.VERTICAL, true, true, false);
CategoryPlot plot = chart.getCategoryPlot();
LineAndShapeRenderer renderer = (LineAndShapeRenderer)plot.getRenderer();
//設定折現上顯示資料
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setBaseItemLabelsVisible(true);
//呼叫工具類生成圖片
FileOutputStream out = new FileOutputStream("C:\\Users\\85780\\Desktop\\表格\\bar5.jpg");
ChartUtilities.writeChartAsJPEG(out,chart,700,500);
System.out.println("創建折線圖成功");
}
}
效果圖:

希望這些代碼和圖片可以幫助到到大家,仔細學習所用,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/46618.html
標籤:AI
上一篇:都9102了,我們還在用SQLSERVER2008,我想知道即將發布的SQLSERVER2019比2008多了哪些重大功能,想勸領導升級到最新SQLSERVER
