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.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
//-------------------------------饼图-------------------------------
//饼图的dataset 一般是用PieDataset 接口,具体实现类是 DefaultPieDataset
public class MyJFC extends ApplicationFrame{
//1、创建一个数据源(dataset):
public PieDataset createDataset(){
//注意是DefaultPieDataset!!生成饼图数据集对象
DefaultPieDataset defaultpiedataset = new DefaultPieDataset();
defaultpiedataset.setValue("One", 10);
defaultpiedataset.setValue("Two", 20);
defaultpiedataset.setValue("Three",30);
defaultpiedataset.setValue("Four", 40);
return defaultpiedataset;
}
//2、由ChartFactory 产生 JFreeChart 对象
public JFreeChart createChart(PieDataset piedataset)
{
JFreeChart jfreechart = ChartFactory.createPieChart(
"Pie Chart Demo 1", //图形标题名称
piedataset, // dataset
true, // legend?
true, // tooltips?
false); //URLs?
//通过JFreeChart 对象获得 plot:PiePlot!!
PiePlot pieplot = (PiePlot)jfreechart.getPlot();
// 没有数据的时候显示的内容
pieplot.setNoDataMessage("No data available");
//一些重要的方法:第三份挖出来10%
pieplot.setExplodePercent(3,0.1);
return jfreechart;
}
// 生成显示图表的面板
public JPanel createDemoPanel() {
//调用JFreeChart 加载数据createDataset 创建图表
JFreeChart jfreechart = createChart(createDataset());
//建个图表面板 加载jfreechart
return new ChartPanel(jfreechart);
}
public MyJFC(String s) {
super(s);
//设置内容面板,加载上面的内容面板
setContentPane(createDemoPanel());
}
public static void main(String[] args) {
MyJFC fjc = new MyJFC("CityInfoPort公司组织架构图");
fjc.pack();
//显示到屏幕
RefineryUtilities.centerFrameOnScreen(fjc);
fjc.setVisible(true);
}
}
Jfreechart小案例
最新推荐文章于 2024-02-26 09:20:05 发布