`
mimang2007110
  • 浏览: 239090 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

jfreechart画饼形图swing形式的

阅读更多
package com.wkx.jfreechart;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.util.Random;

import javax.swing.JPanel;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.chart.urls.StandardPieURLGenerator;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;

public class MyPieChartTest extends ApplicationFrame {
	
	//private String[] engStr={"One","Two","Three","Four","Five","Six","Seven","eight","Nine","Ten"};
	private String[] cheStr={"第一","第二","第三","第四","第五","第六","第七","第八","第九","第十"};
	
	public MyPieChartTest(String title) {
		super(title);
		JFreeChart pieChart = createChart(createDataSet());
		JPanel localPanel = new ChartPanel(pieChart);
		localPanel.setPreferredSize(new Dimension(500,270));
		setContentPane(localPanel);
	}

	public static void main(String[] args) {
		MyPieChartTest pieChartTest = new MyPieChartTest("饼形图测试");
		pieChartTest.pack();
	    RefineryUtilities.centerFrameOnScreen(pieChartTest);
	    pieChartTest.setVisible(true);
	}
	
	public PieDataset createDataSet(){
		DefaultPieDataset dataset = new DefaultPieDataset();
		Random r = new Random();
		for(int i=0;i<cheStr.length;i++){
			dataset.setValue(cheStr[i], r.nextDouble()*10);
		}
		return dataset;
	}
	
	public JFreeChart createChart(PieDataset dataset){
		
		//创建绘图区
		JFreeChart pieChart = ChartFactory.createPieChart("测试饼形图", dataset, true, true, true);
		//设置绘图区背景色
		pieChart.setBackgroundPaint(Color.PINK);
		//获取图片标题
		TextTitle title = pieChart.getTitle();		
		//设置标题样式
		title.setFont(new Font("黑体", Font.PLAIN, 20));		
		//设置鼠标悬浮字
		title.setToolTipText("这是我的测试饼形图。");		
		//获取绘图区
		PiePlot plot = (PiePlot)pieChart.getPlot();
		//设置没有数据时显示的消息
		plot.setNoDataMessage("没有数据。");
		//设置没有数据时显示消息的字体
		plot.setNoDataMessageFont(new Font("黑体",Font.PLAIN,20));
		//设置图片超链接
		plot.setURLGenerator(new StandardPieURLGenerator("http://wenkaixuan.iteye.com"));		
		//设置内容字体
		plot.setLabelFont(new Font("宋体",Font.PLAIN,14));		
		//获取绘图区底部标签
		LegendTitle legTitle = pieChart.getLegend();		
		//设置底部标签字体
		legTitle.setItemFont(new Font("黑体",Font.PLAIN,14));
		
		return pieChart;
	}
}

 

分享到:
评论

相关推荐

    JfreeChart柱状图饼图

    在Web应用中,可以结合Servlet或Spring MVC将图表以图片形式输出。 总之,JFreeChart是Java开发中不可或缺的图表库,无论你是要创建简单的柱状图还是复杂的饼图,都能找到合适的方法。通过对源码的学习,我们不仅...

    JFreeChar制作饼图和柱状图

    JFreeChart是一款强大的Java图形库,它允许开发者创建各种类型的统计图表,如饼图、柱状图、线图、散点图等。在Java应用程序中,JFreeChart为数据可视化提供了丰富的功能,使得数据的展示更为直观易懂。在本教程中,...

    JFreeChart实际应用说明

    JFreeChart是一个强大的Java库,用于创建各种类型的图表,如曲线图、柱形图和饼形图。在实际应用中,JFreeChart广泛用于数据分析和可视化,尤其在报表系统中。本部分将详细介绍如何使用JFreeChart创建动态曲线图,并...

    JfreeChart API

    JFreeChart可以轻松地与Swing、JavaFX等Java GUI库集成,也可以在Servlets、JSP和Spring MVC等Web环境中使用。此外,它还支持导出图表到PDF、SVG等格式,便于在报告和文档中使用。 ### 7. **学习资源** 对于开发者...

    Java图表类库JFreeChart源码

    在实际应用中,JFreeChart常与其他Java库结合使用,如Swing或JavaFX进行图形界面开发,或者与Servlets和JSP配合在Web环境中展示图表。压缩包中的"有问题加我微信.txt"可能是作者提供的一种联系方式,以便用户在使用...

    JFreeChar生成饼图

    为了显示图表,可以将其嵌入到Swing组件中,如`JFrame`,或者导出为图片文件。 总之,JFreeChart是Java开发中一个功能强大的图表库,通过它可以轻松创建各种类型的图表,包括饼图。结合数据库操作,可以实现动态...

    Java程序报表控件汇

    "Java程序报表控件汇"这个主题涵盖了各种图表类型,如柱型图、饼型图等,这些都是数据分析和业务报告中常见的图形表示方式。Java报表标签进一步强调了我们讨论的核心在于使用Java语言来创建和管理这些报表。 柱型图...

Global site tag (gtag.js) - Google Analytics