`
reallyafei
  • 浏览: 98827 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JfreeChart相关

    博客分类:
  • Java
阅读更多

加入jfreechart-1.0.13.jar,jcommon-1.0.16.jar

一、饼状图代码
package tf;

import java.awt.Color;
import java.awt.Font;
import java.io.FileOutputStream;
import java.text.DecimalFormat;
import java.text.NumberFormat;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;

public class PieChartTest {
	public static void main(String[] args) {
		PieDataset dataset = getDataSet();
		JFreeChart chart = ChartFactory.createPieChart3D(null, dataset, true, true, false);		
		PiePlot3D plot = (PiePlot3D) chart.getPlot();
		// 图片中显示百分比:默认方式
		// plot.setLabelGenerator(new
		// StandardPieSectionLabelGenerator(StandardPieToolTipGenerator.DEFAULT_TOOLTIP_FORMAT));
		// 图片中显示百分比:自定义方式,{0} 表示选项, {1} 表示数值, {2} 表示所占比例 ,小数点后两位
		plot.setLabelGenerator(new StandardPieSectionLabelGenerator(
				"{0}={1}({2})", NumberFormat.getNumberInstance(),
				new DecimalFormat("0.00%")));
		// 图例显示百分比:自定义方式, {0} 表示选项, {1} 表示数值, {2} 表示所占比例
		plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator(
				"{0}={1}({2})"));
		// 设置背景色为白色
		chart.setBackgroundPaint(Color.white);
		// 指定图片的透明度(0.0-1.0)
		plot.setForegroundAlpha(1.0f);
		// 指定显示的饼图上圆形(false)还椭圆形(true)
		plot.setCircular(true);
		
		/*------设置图片标题的字体-----------*/ 
		Font font = new Font("黑体", Font.CENTER_BASELINE, 20);
		TextTitle title = new TextTitle("项目状态分布");
		title.setFont(font);
		chart.setTitle(title);
	
		/*------设置图片显示的字体-----------*/ 
		plot.setLabelFont(new Font("黑体", Font.PLAIN, 12));
		  
		/*------设置图片底部的字体-----------*/
		chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12)); 
		
		FileOutputStream fos_jpg = null;
		try {
			fos_jpg = new FileOutputStream("D:\\项目状态分布.jpg");
			ChartUtilities.writeChartAsJPEG(fos_jpg, 1, chart, 640, 480, null);
			fos_jpg.close();
		} catch (Exception e) {
		}
	}

	private static PieDataset getDataSet() {
		DefaultPieDataset dataset = new DefaultPieDataset();
		dataset.setValue("市场前期", new Double(10));
		dataset.setValue("立项", new Double(15));
		dataset.setValue("计划", new Double(10));
		dataset.setValue("需求与设计", new Double(10));
		dataset.setValue("执行控制", new Double(35));
		dataset.setValue("收尾", new Double(10));
		dataset.setValue("运维", new Double(10));
		return dataset;
	}
}
 

二、柱状图代码
package tf;

import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import java.io.FileOutputStream;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.DefaultCategoryDataset;

public class BarChartTest {

	public static void main(String[] args) {
		DefaultCategoryDataset dataset = getDataSet();
		JFreeChart chart = ChartFactory.createBarChart(null, "网站", "数值",
				dataset, PlotOrientation.VERTICAL, true, true, false);
		
		/*------设置图片标题的字体-----------*/ 
		Font font = new Font("黑体", Font.CENTER_BASELINE, 20);
		TextTitle title = new TextTitle("网站信息统计");
		title.setFont(font);
		chart.setTitle(title);

		chart.setBackgroundPaint(Color.white);

		CategoryPlot plot = (CategoryPlot) chart.getPlot();
		CategoryAxis domainAxis = plot.getDomainAxis();
		
		NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
		rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
		BarRenderer renderer = (BarRenderer) plot.getRenderer();  
		renderer.setDrawBarOutline(false);

		/*------设置X轴坐标上的文字-----------*/  
	    domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11));  
	  
	    /*------设置X轴的标题文字------------*/  
	    domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));  
	  
	    /*------设置Y轴坐标上的文字-----------*/  
	    rangeAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));  
	  
	    /*------设置Y轴的标题文字------------*/  
	    rangeAxis.setLabelFont(new Font("黑体", Font.PLAIN, 12));  
	  
	    /*------设置底部标题文字-----------*/  
	    chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));  
	    
		GradientPaint gp0 = new GradientPaint(0.0f, 0.0f, Color.blue, 0.0f,
				0.0f, new Color(0, 0, 64));
		GradientPaint gp1 = new GradientPaint(0.0f, 0.0f, Color.green, 0.0f,
				0.0f, new Color(0, 64, 0));
		GradientPaint gp2 = new GradientPaint(0.0f, 0.0f, Color.red, 0.0f,
				0.0f, new Color(64, 0, 0));
		renderer.setSeriesPaint(0, gp0);
		renderer.setSeriesPaint(1, gp1);
		renderer.setSeriesPaint(2, gp2);
				
		domainAxis.setCategoryLabelPositions(CategoryLabelPositions
				.createUpRotationLabelPositions(Math.PI / 6.0));		
		
		FileOutputStream fos_jpg = null;
		try {
			fos_jpg = new FileOutputStream("D:\\柱状图.jpg");
			ChartUtilities.writeChartAsJPEG(fos_jpg, 1, chart, 640, 480, null);
			fos_jpg.close();
		} catch (Exception e) {
		}

	}

	private static DefaultCategoryDataset getDataSet() {
		DefaultCategoryDataset dataset = new DefaultCategoryDataset();
		String s = "每日PV";  
	    String s1 = "每日IP数";  
	    String s2 = "注册用户数";  
	    String s3 = "A网站";  
	    String s4 = "B网站";  
	    String s5 = "C网站";  
	    String s6 = "D网站";  
	    String s7 = "E网站";  
	    dataset.addValue(1.0D, s, s3);  
	    dataset.addValue(4D, s, s4);  
	    dataset.addValue(3D, s, s5);  
	    dataset.addValue(5D, s, s6);  
	    dataset.addValue(5D, s, s7);  
	    dataset.addValue(5D, s1, s3);  
	    dataset.addValue(7D, s1, s4);  
	    dataset.addValue(6D, s1, s5);  
	    dataset.addValue(8D, s1, s6);  
	    dataset.addValue(4D, s1, s7);  
	    dataset.addValue(4D, s2, s3);  
	    dataset.addValue(3D, s2, s4);  
	    dataset.addValue(2D, s2, s5);  
	    dataset.addValue(3D, s2, s6);  
	    dataset.addValue(6D, s2, s7); 
		return dataset;
	}
}
分享到:
评论

相关推荐

    jfreechart相关价包

    这个压缩包包含两个核心的JAR文件:`apiServices.jar` 和 `apiCommon.jar`,它们都是与JFreeChart相关的组件。 **JFreeChart的主要特性:** 1. **多样化图表类型**:JFreeChart支持多种类型的图表,如折线图、柱状...

    JFreeChart相关的jar包(2)

    本资源提供了JFreeChart相关的一个jar包,具体为"jcommon-1.0.16.jar",它是JFreeChart库的基础组件之一。 **JCommon库详解** JCommon是JFreeChart项目的组成部分,提供了一系列基础工具类和组件,包括图形绘制、...

    jfreechart相关jar包

    JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图...

    JFreeChart相关的jar包(gnujaxp-1.0.0,jcommon-1.0.16.jar,jfreechart-1.0.13.jar)

    在您提供的资源中,提到了几个与JFreeChart相关的jar包,它们分别是gnujaxp-1.0.0.jar,jcommon-1.0.16.jar以及jfreechart-1.0.13.jar。这些jar包是构建基于Java的图表应用的关键组件,下面将详细介绍它们的作用。 ...

    jfreechart所需jar包.zip

    JFreeChart的核心库通常包括以下几个关键组件和相关JAR文件: 1. **jfreechart.jar**:这是JFreeChart的主要库文件,包含了创建各种图表的类和方法。开发者可以通过这个库调用API来定制图表的颜色、样式、数据源等...

    jfreechart依赖jar包

    JFreeChart 是一个强大的 Java 图形库,它为开发者提供了丰富的图表类型,包括柱状图、折线图、饼状图等,用于在 Java 应用程序中进行数据可视化。在 Java 后台开发中,数据的图形化表示能够帮助用户更直观地理解...

    jfreechart相关jar包(不同版本的)

    JFreeChart是一款强大的Java图表库,它为开发者提供了在Java应用程序和Web应用中创建各种静态、动态和交互式图表的功能。这个压缩包包含了不同版本的JFreeChart库,确保你可以根据项目需求选择最适合的版本。 1. **...

    jfreeChart相关资料

    这个压缩包文件“jfreeChart”包含了与JFreeChart相关的多种资源,包括官方源码、发布包、演示示例(demo)以及开发指南,这些都是深入理解和使用JFreeChart的关键组件。 1. **官方源码**: JFreeChart的源代码是...

    JFreeChart相关资料

    **JFreeChart 相关资料概述** JFreeChart 是一个流行的 Java 图形库,它提供了丰富的图表类型,如柱状图、饼图、线图、散点图等,广泛用于数据可视化。它允许开发者轻松地在 Java 应用程序、Java Applets 以及 Web ...

    用JFreeChart写的雷达图实例

    在实际应用中,我们需要导入JFreeChart相关的包,并创建一个ChartFactory实例,然后调用其createPolarChart()方法来生成雷达图。 `ChartDataSet.java`可能封装了数据集的处理,JFreeChart通常使用CategoryDataset或...

    jfreechart1.0.6_pdf

    首先,需要导入JFreeChart相关的包,包括`org.jfree.chart`和`org.jfree.data.category`,这两个包分别负责图表的展示和数据集的管理。 创建一个简单的销售数据表格,例如咖啡、啤酒、果汁、汽水和茶的季度销量。...

    JFreeChart 相关资料 官方例子 API 文档 非常全面

    **JFreeChart** 是一个非常流行的Java库,用于创建高质量的图表,包括折线图、柱状图、饼图、散点图等。这个压缩包包含的资源是关于JFreeChart的官方例子、API文档以及一些详细的解析资料,对理解和使用JFreeChart...

    java开发JFreeChart相关包

    Java开发中的JFreeChart库是一个强大的工具,专用于创建高质量的、动态的图表。这个库为Java开发者提供了丰富的图表类型,包括线图、柱状图、饼图、散点图、甘特图以及复杂的3D图表等,适用于数据可视化的各种需求。...

    jfreechart所需的所有包

    总的来说,这个“jfreechart所需的所有包”压缩包为开发者提供了一个便捷的方式,让他们能够一站式获取所有必要的JFreeChart相关组件,从而专注于编写利用这个强大库来展示和分析数据的代码,而无需担心依赖管理的...

    jfreeChart相关

    **JFreeChart 知识详解** JFreeChart 是一个用于Java平台的开源图表库,它提供了丰富的图表类型,包括柱状图、折线图、饼图、散点图、甘特图、时间序列图等,使得开发者能够方便地在应用程序中生成高质量的图形。这...

    jfreechart-1.019-jar及依赖.zip

    **JFreeChart库详解与饼形图生成指南** 在Java编程中,绘制各种图表是数据分析...如果你想要了解更多关于JFreeChart的高级功能,例如添加工具提示、动态效果或者自定义图表布局,建议查阅官方文档或者相关的教程文章。

    jfreechart几个例子

    1. 引入 JFreeChart 相关的库: ```java <%@ page import="org.jfree.chart.JFreeChart"%> ``` 2. 创建数据集: ```java DefaultCategoryDataset dataset = new DefaultCategoryDataset(); // 添加数据到...

    JFreeChart生成报表Demo案例

    1. **导入依赖**:在项目中引入JFreeChart相关的JAR包,这些包包含了所有生成图表所需的功能和组件。 2. **创建数据模型**:定义你需要展示的数据,这可能是一个二维数组、List或其他数据结构,用来存储图表的各个...

Global site tag (gtag.js) - Google Analytics