public class BarChartDemo
{
public static void main(String[] args) throws IOException
{
JFreeChart chart = ChartFactory.createBarChart3D(
"水果產量圖", // 圖表標題
"水果", // 目錄軸的顯示標籤
"產量", // 數值軸的顯示標籤
getDataSet(), // 數據集
//PlotOrientation.HORIZONTAL , // 圖表方向:水平
PlotOrientation.VERTICAL , // 圖表方向:垂直
true, // 是否顯示圖例(對於簡單的柱狀圖必須是false)
false, // 是否生成工具
false // 是否生成URL鏈接
);
FileOutputStream fos = null;
fos = new FileOutputStream("fruit.jpg");
ChartUtilities.writeChartAsJPEG(
fos, //輸出到哪個輸出流
1, //JPEG圖片的質量,0~1之間
chart, //統計圖標對象
800, //寬
600,//寬
null //ChartRenderingInfo 信息
);
fos.close();
}
/**
* 獲取一個演示用的組合數據集對象
* @return
*/
private static CategoryDataset getDataSet()
{
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "北京", "蘋果");
/*
添加數據時
參數1 - 值。
參數2 - 行key
參數3 - 列key
*/
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;
}
}
{
public static void main(String[] args) throws IOException
{
JFreeChart chart = ChartFactory.createBarChart3D(
"水果產量圖", // 圖表標題
"水果", // 目錄軸的顯示標籤
"產量", // 數值軸的顯示標籤
getDataSet(), // 數據集
//PlotOrientation.HORIZONTAL , // 圖表方向:水平
PlotOrientation.VERTICAL , // 圖表方向:垂直
true, // 是否顯示圖例(對於簡單的柱狀圖必須是false)
false, // 是否生成工具
false // 是否生成URL鏈接
);
FileOutputStream fos = null;
fos = new FileOutputStream("fruit.jpg");
ChartUtilities.writeChartAsJPEG(
fos, //輸出到哪個輸出流
1, //JPEG圖片的質量,0~1之間
chart, //統計圖標對象
800, //寬
600,//寬
null //ChartRenderingInfo 信息
);
fos.close();
}
/**
* 獲取一個演示用的組合數據集對象
* @return
*/
private static CategoryDataset getDataSet()
{
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "北京", "蘋果");
/*
添加數據時
參數1 - 值。
參數2 - 行key
參數3 - 列key
*/
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;
}
}
public class BarChart3DDemo
{
public static void main(String[] args) throws IOException
{
JFreeChart chart = ChartFactory.createBarChart3D(
"圖書銷量統計圖", // 圖表標題
"圖書", // 目錄軸的顯示標籤
"銷量", // 數值軸的顯示標籤
getDataSet(), // 數據集
//PlotOrientation.HORIZONTAL , // 圖表方向:水平
PlotOrientation.VERTICAL , // 圖表方向:垂直
false, // 是否顯示圖例(對於簡單的柱狀圖必須是false)
false, // 是否生成工具
false // 是否生成URL鏈接
);
//重新設置圖標標題,改變字體
chart.setTitle(new TextTitle("圖書銷量統計圖", new Font("黑體", Font.ITALIC , 22)));
CategoryPlot plot = (CategoryPlot)chart.getPlot();
//取得橫軸
CategoryAxis categoryAxis = plot.getDomainAxis();
//設置橫軸顯示標籤的字體
categoryAxis.setLabelFont(new Font("宋體" , Font.BOLD , 22));
//分類標籤以45度角傾斜
categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
categoryAxis.setTickLabelFont(new Font("宋體" , Font.BOLD , 18));
//取得縱軸
NumberAxis numberAxis = (NumberAxis)plot.getRangeAxis();
//設置縱軸顯示標籤的字體
numberAxis.setLabelFont(new Font("宋體" , Font.BOLD , 22));
FileOutputStream fos = null;
fos = new FileOutputStream("book.jpg");
//將統計圖標輸出成JPG文件
ChartUtilities.writeChartAsJPEG(
fos, //輸出到哪個輸出流
1, //JPEG圖片的質量,0~1之間
chart, //統計圖標對象
800, //寬
600,//寬
null //ChartRenderingInfo 信息
);
fos.close();
}
//返回一個CategoryDataset實例
private static CategoryDataset getDataSet()
{
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(47000 , "" , "Spring2.0寶典");
dataset.addValue(38000 , "" , "輕量級J2EE企業實戰");
dataset.addValue(31000 , "" , "基於J2EE的Ajax寶典");
dataset.addValue(29000 , "" , "JavaScript權威指南");
dataset.addValue(25000 , "" , "Ajax In Action");
return dataset;
}
}
{
public static void main(String[] args) throws IOException
{
JFreeChart chart = ChartFactory.createBarChart3D(
"圖書銷量統計圖", // 圖表標題
"圖書", // 目錄軸的顯示標籤
"銷量", // 數值軸的顯示標籤
getDataSet(), // 數據集
//PlotOrientation.HORIZONTAL , // 圖表方向:水平
PlotOrientation.VERTICAL , // 圖表方向:垂直
false, // 是否顯示圖例(對於簡單的柱狀圖必須是false)
false, // 是否生成工具
false // 是否生成URL鏈接
);
//重新設置圖標標題,改變字體
chart.setTitle(new TextTitle("圖書銷量統計圖", new Font("黑體", Font.ITALIC , 22)));
CategoryPlot plot = (CategoryPlot)chart.getPlot();
//取得橫軸
CategoryAxis categoryAxis = plot.getDomainAxis();
//設置橫軸顯示標籤的字體
categoryAxis.setLabelFont(new Font("宋體" , Font.BOLD , 22));
//分類標籤以45度角傾斜
categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
categoryAxis.setTickLabelFont(new Font("宋體" , Font.BOLD , 18));
//取得縱軸
NumberAxis numberAxis = (NumberAxis)plot.getRangeAxis();
//設置縱軸顯示標籤的字體
numberAxis.setLabelFont(new Font("宋體" , Font.BOLD , 22));
FileOutputStream fos = null;
fos = new FileOutputStream("book.jpg");
//將統計圖標輸出成JPG文件
ChartUtilities.writeChartAsJPEG(
fos, //輸出到哪個輸出流
1, //JPEG圖片的質量,0~1之間
chart, //統計圖標對象
800, //寬
600,//寬
null //ChartRenderingInfo 信息
);
fos.close();
}
//返回一個CategoryDataset實例
private static CategoryDataset getDataSet()
{
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(47000 , "" , "Spring2.0寶典");
dataset.addValue(38000 , "" , "輕量級J2EE企業實戰");
dataset.addValue(31000 , "" , "基於J2EE的Ajax寶典");
dataset.addValue(29000 , "" , "JavaScript權威指南");
dataset.addValue(25000 , "" , "Ajax In Action");
return dataset;
}
}
public class BarChart3DDemo
{
public static void main(String[] args) throws IOException
{
JFreeChart chart = ChartFactory.createBarChart3D(
"圖書銷量統計圖", // 圖表標題
"圖書", // 目錄軸的顯示標籤
"銷量", // 數值軸的顯示標籤
getDataSet(), // 數據集
//PlotOrientation.HORIZONTAL , // 圖表方向:水平
PlotOrientation.VERTICAL , // 圖表方向:垂直
true, // 是否顯示圖例(對於簡單的柱狀圖必須是false)
false, // 是否生成工具
false // 是否生成URL鏈接
);
//重新設置圖標標題,改變字體
chart.setTitle(new TextTitle("圖書銷量統計圖", new Font("黑體", Font.ITALIC , 22)));
//取得統計圖標的第一個圖例
LegendTitle legend = chart.getLegend(0);
//修改圖例的字體
legend.setItemFont(new Font("宋體", Font.BOLD, 14));
CategoryPlot plot = (CategoryPlot)chart.getPlot();
//取得橫軸
CategoryAxis categoryAxis = plot.getDomainAxis();
//設置橫軸顯示標籤的字體
categoryAxis.setLabelFont(new Font("宋體" , Font.BOLD , 22));
//分類標籤以45度角傾斜
categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
categoryAxis.setTickLabelFont(new Font("宋體" , Font.BOLD , 18));
//取得縱軸
NumberAxis numberAxis = (NumberAxis)plot.getRangeAxis();
//設置縱軸顯示標籤的字體
numberAxis.setLabelFont(new Font("宋體" , Font.BOLD , 22));
FileOutputStream fos = null;
fos = new FileOutputStream("book.jpg");
//將統計圖標輸出成JPG文件
ChartUtilities.writeChartAsJPEG(
fos, //輸出到哪個輸出流
1, //JPEG圖片的質量,0~1之間
chart, //統計圖標對象
800, //寬
600,//寬
null //ChartRenderingInfo 信息
);
fos.close();
}
//返回一個CategoryDataset實例
private static CategoryDataset getDataSet()
{
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(45000 , "北京" , "Spring2.0寶典");
dataset.addValue(38000 , "北京" , "輕量級J2EE企業實戰");
dataset.addValue(24000 , "北京" , "基於J2EE的Ajax寶典");
dataset.addValue(32000 , "北京" , "JavaScript權威指南");
dataset.addValue(21000 , "北京" , "Ajax In Action");
dataset.addValue(37000 , "上海" , "Spring2.0寶典");
dataset.addValue(36000 , "上海" , "輕量級J2EE企業實戰");
dataset.addValue(34000 , "上海" , "基於J2EE的Ajax寶典");
dataset.addValue(42000 , "上海" , "JavaScript權威指南");
dataset.addValue(12000 , "上海" , "Ajax In Action");
dataset.addValue(42000 , "廣州" , "Spring2.0寶典");
dataset.addValue(40000 , "廣州" , "輕量級J2EE企業實戰");
dataset.addValue(34000 , "廣州" , "基於J2EE的Ajax寶典");
dataset.addValue(18000 , "廣州" , "JavaScript權威指南");
dataset.addValue(26000 , "廣州" , "Ajax In Action");
return dataset;
}
}
{
public static void main(String[] args) throws IOException
{
JFreeChart chart = ChartFactory.createBarChart3D(
"圖書銷量統計圖", // 圖表標題
"圖書", // 目錄軸的顯示標籤
"銷量", // 數值軸的顯示標籤
getDataSet(), // 數據集
//PlotOrientation.HORIZONTAL , // 圖表方向:水平
PlotOrientation.VERTICAL , // 圖表方向:垂直
true, // 是否顯示圖例(對於簡單的柱狀圖必須是false)
false, // 是否生成工具
false // 是否生成URL鏈接
);
//重新設置圖標標題,改變字體
chart.setTitle(new TextTitle("圖書銷量統計圖", new Font("黑體", Font.ITALIC , 22)));
//取得統計圖標的第一個圖例
LegendTitle legend = chart.getLegend(0);
//修改圖例的字體
legend.setItemFont(new Font("宋體", Font.BOLD, 14));
CategoryPlot plot = (CategoryPlot)chart.getPlot();
//取得橫軸
CategoryAxis categoryAxis = plot.getDomainAxis();
//設置橫軸顯示標籤的字體
categoryAxis.setLabelFont(new Font("宋體" , Font.BOLD , 22));
//分類標籤以45度角傾斜
categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
categoryAxis.setTickLabelFont(new Font("宋體" , Font.BOLD , 18));
//取得縱軸
NumberAxis numberAxis = (NumberAxis)plot.getRangeAxis();
//設置縱軸顯示標籤的字體
numberAxis.setLabelFont(new Font("宋體" , Font.BOLD , 22));
FileOutputStream fos = null;
fos = new FileOutputStream("book.jpg");
//將統計圖標輸出成JPG文件
ChartUtilities.writeChartAsJPEG(
fos, //輸出到哪個輸出流
1, //JPEG圖片的質量,0~1之間
chart, //統計圖標對象
800, //寬
600,//寬
null //ChartRenderingInfo 信息
);
fos.close();
}
//返回一個CategoryDataset實例
private static CategoryDataset getDataSet()
{
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(45000 , "北京" , "Spring2.0寶典");
dataset.addValue(38000 , "北京" , "輕量級J2EE企業實戰");
dataset.addValue(24000 , "北京" , "基於J2EE的Ajax寶典");
dataset.addValue(32000 , "北京" , "JavaScript權威指南");
dataset.addValue(21000 , "北京" , "Ajax In Action");
dataset.addValue(37000 , "上海" , "Spring2.0寶典");
dataset.addValue(36000 , "上海" , "輕量級J2EE企業實戰");
dataset.addValue(34000 , "上海" , "基於J2EE的Ajax寶典");
dataset.addValue(42000 , "上海" , "JavaScript權威指南");
dataset.addValue(12000 , "上海" , "Ajax In Action");
dataset.addValue(42000 , "廣州" , "Spring2.0寶典");
dataset.addValue(40000 , "廣州" , "輕量級J2EE企業實戰");
dataset.addValue(34000 , "廣州" , "基於J2EE的Ajax寶典");
dataset.addValue(18000 , "廣州" , "JavaScript權威指南");
dataset.addValue(26000 , "廣州" , "Ajax In Action");
return dataset;
}
}
public class LineChart3DDemo
{
public static void main(String[] args) throws IOException
{
JFreeChart chart = ChartFactory.createTimeSeriesChart(
"圖書銷量統計圖", // 圖表標題
"圖書", // 目錄軸的顯示標籤
"銷量", // 數值軸的顯示標籤
getDataSet(), // 數據集
//PlotOrientation.HORIZONTAL , // 圖表方向:水平
PlotOrientation.VERTICAL , // 圖表方向:垂直
true, // 是否顯示圖例(對於簡單的柱狀圖必須是false)
false, // 是否生成工具
false // 是否生成URL鏈接
);
//重新設置圖標標題,改變字體
chart.setTitle(new TextTitle("圖書銷量統計圖", new Font("黑體", Font.ITALIC , 22)));
//取得統計圖標的第一個圖例
LegendTitle legend = chart.getLegend(0);
//修改圖例的字體
legend.setItemFont(new Font("宋體", Font.BOLD, 14));
CategoryPlot plot = (CategoryPlot)chart.getPlot();
//取得橫軸
CategoryAxis categoryAxis = plot.getDomainAxis();
//設置橫軸顯示標籤的字體
categoryAxis.setLabelFont(new Font("宋體" , Font.BOLD , 22));
//分類標籤以45度角傾斜
categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
categoryAxis.setTickLabelFont(new Font("宋體" , Font.BOLD , 18));
//取得縱軸
NumberAxis numberAxis = (NumberAxis)plot.getRangeAxis();
//設置縱軸顯示標籤的字體
numberAxis.setLabelFont(new Font("宋體" , Font.BOLD , 22));
FileOutputStream fos = null;
fos = new FileOutputStream("book.jpg");
//將統計圖標輸出成JPG文件
ChartUtilities.writeChartAsJPEG(
fos, //輸出到哪個輸出流
1, //JPEG圖片的質量,0~1之間
chart, //統計圖標對象
800, //寬
600,//寬
null //ChartRenderingInfo 信息
);
fos.close();
}
//返回一個CategoryDataset實例
private static CategoryDataset getDataSet()
{
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(45000 , "北京" , "Spring2.0寶典");
dataset.addValue(38000 , "北京" , "輕量級J2EE企業實戰");
dataset.addValue(24000 , "北京" , "基於J2EE的Ajax寶典");
dataset.addValue(32000 , "北京" , "JavaScript權威指南");
dataset.addValue(21000 , "北京" , "Ajax In Action");
dataset.addValue(37000 , "上海" , "Spring2.0寶典");
dataset.addValue(36000 , "上海" , "輕量級J2EE企業實戰");
dataset.addValue(34000 , "上海" , "基於J2EE的Ajax寶典");
dataset.addValue(42000 , "上海" , "JavaScript權威指南");
dataset.addValue(12000 , "上海" , "Ajax In Action");
dataset.addValue(42000 , "廣州" , "Spring2.0寶典");
dataset.addValue(40000 , "廣州" , "輕量級J2EE企業實戰");
dataset.addValue(34000 , "廣州" , "基於J2EE的Ajax寶典");
dataset.addValue(18000 , "廣州" , "JavaScript權威指南");
dataset.addValue(26000 , "廣州" , "Ajax In Action");
return dataset;
}
}
public class TimeChartDemo
{
public static void main(String[] args) throws IOException
{
JFreeChart chart = ChartFactory.createTimeSeriesChart(
"圖書銷量統計圖", // 圖表標題
"圖書", // 目錄軸的顯示標籤
"銷量", // 數值軸的顯示標籤
getDataSet(), // 數據集
true, // 是否顯示圖例(對於簡單的柱狀圖必須是false)
false, // 是否生成工具
false // 是否生成URL鏈接
);
//重新設置圖標標題,改變字體
chart.setTitle(new TextTitle("圖書銷量統計圖", new Font("黑體", Font.ITALIC , 22)));
//取得統計圖標的第一個圖例
LegendTitle legend = chart.getLegend(0);
//修改圖例的字體
legend.setItemFont(new Font("宋體", Font.BOLD, 14));
//取得時間順序圖的Plot對象
XYPlot plot = (XYPlot)chart.getPlot();
//取得橫軸
ValueAxis categoryAxis = plot.getDomainAxis();
//設置橫軸顯示標籤的字體
categoryAxis.setLabelFont(new Font("宋體" , Font.BOLD , 22));
categoryAxis.setTickLabelFont(new Font("宋體" , Font.BOLD , 18));
//取得縱軸
NumberAxis numberAxis = (NumberAxis)plot.getRangeAxis();
//設置縱軸顯示標籤的字體
numberAxis.setLabelFont(new Font("宋體" , Font.BOLD , 22));
FileOutputStream fos = null;
fos = new FileOutputStream("book.jpg");
//將統計圖標輸出成JPG文件
ChartUtilities.writeChartAsJPEG(
fos, //輸出到哪個輸出流
1, //JPEG圖片的質量,0~1之間
chart, //統計圖標對象
800, //寬
600,//寬
null //ChartRenderingInfo 信息
);
fos.close();
}
//返回一個CategoryDataset實例
private static XYDataset getDataSet()
{
TimeSeries spring = new TimeSeries("Spring2.0寶典" , Month.class);
spring.add(new Month(10, 2006), 3400);
spring.add(new Month(11, 2006), 2700);
spring.add(new Month(12, 2006), 3100);
spring.add(new Month(1, 2007), 1800);
spring.add(new Month(2, 2007), 2200);
TimeSeries lightWeight = new TimeSeries("輕量級J2EE企業應用實戰" , Month.class);
lightWeight.add(new Month(10, 2006), 2800);
lightWeight.add(new Month(11, 2006), 3700);
lightWeight.add(new Month(12, 2006), 2600);
lightWeight.add(new Month(1, 2007), 2100);
lightWeight.add(new Month(2, 2007), 1100);
TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.addSeries(spring);
dataset.addSeries(lightWeight);
return dataset;
}
}