使用JFreeChart生成柱状图和饼图
2013-01-15 09:19
519 查看
需要导入的jar包
生成柱状图
生成饼图
本文出自 “Kenan_ITBlog” 博客,请务必保留此出处http://soukenan.blog.51cto.com/5130995/1118404
生成柱状图
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; } }
本文出自 “Kenan_ITBlog” 博客,请务必保留此出处http://soukenan.blog.51cto.com/5130995/1118404
相关文章推荐
- 使用 jfreechart 生成 曲线、柱状图、饼状图、分布图 展示到JSP
- 使用 jfreechart 生成 曲线、柱状图、饼状图、分布图 展示到JSP
- 使用JFreeChart生成柱状图,不做任何注释,只求应用,生成的柱状图放在D:\\fruit.jpg
- 使用 jfreechart 生成 曲线、柱状图、饼状图、分布图 展示到JSP
- 使用jfreeChart生成柱状图,折线图,饼图等
- 使用 jfreechart 生成 曲线、柱状图、饼状图、分布图 展示到JSP
- 使用JFreeChart生成柱状图实例(生成图片)
- 使用 jfreechart 生成 曲线、柱状图、饼状图、分布图 展示到JSP
- 使用JFreeChart生成复杂柱状图实例(生成图片)
- 使用jfreechart生成柱状图、折线图、和饼状图
- 使用JFreeChart实现基于Web的柱状图
- jfreechart使用柱状图重叠
- 利用JFreeChart生成简单柱状图(Java)
- 关于JFreeChart中柱状图使用纹理图片填充的解决办法
- JFreeChart 生成 柱状图(Struts2 + Maven3 + JFreeChart)
- 使用JFreeChart生成各种样式的图表
- JFreeChart(使用一):生成折线图
- jfreechart生成柱状图
- JFreeChart生成3D柱状图
- #.JFreeChart 图表生成实例(饼图、柱状图、折线图、时序图)