java中一个开源的图表工具。
jfree的jar包,一共两个,在jfree页面中的sourceforge中下载
JFreeChart和JCommon
生成doc文档
解压下载的两个文件,找到其中的ant文件夹,命令行下运行bulit javadoc即可
JFreeChart类,代表一个图表对象
ChartFactory类,可生成JFreeChart
用java的swn来生成图表
public calss JFreeChartTest{
public static void main(String[] args) {
//构造一个数据集,图表的数据是放在数据集中的,不同的图表它的数据集也是不一样的。
DefaultPieDataset dpd = new DefaultPieDataset();
dpd.setValue("管理人员", 25);
dpd.setValue("市场人员", 25);
dpd.setValue("开发人员", 45);
dpd.setValue("其他人员", 20);
//第1个表示图表的名称
//第2个表示图表的数据源
//第4个参数表示鼠标移到上面是否有提示
//第5个表示此图表是否是一个链接
JFreeChart chart = ChartFactory.createPieChart("公司人员结构图", dpd, true, false, false);
//用swn来实现图表的显示
ChartFrame chartFrame = new ChartFream();
chartFrame.pack();
chartFrame.setVisible(true);
}
}
一个图表由以下几部分组成
title
plot(图表区域)
legend(图表下面的说明文字,如什么颜色代表什么)
创建一个柱状图(CategoryDataset)
public class JFreeChartTest2 extends ApplicationFrame{
//继承ApplicationFrame后必须要写这个构造方法
public JFreeChartTest2(String title) {
super(title);
this.setContentPane(createPanel());
}
public static CategoryDataset createDateaset() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
//参数(y坐标,区分各个柱形的颜色并在说明中标注出来 ,x坐标)
dataset.setValue(10, "aa", "管理人员");
dataset.setValue(20, "bb", "市场人员");
dataset.setValue(40, "cc", "开发人员");
dataset.setValue(15, "dd", "其他人员");
return dataset;
}
public static JFreeChart createChart(CategoryDataset dataset) {
//参数(,,,数据集,水平的还是垂直的,是否产生说明,是否产生提示,是否产生url)
JFreeChart chart = ChartFactory.createBarChart("某公司组织结构图", "人员分布", "人员数量", dataset, PlotOrientaion.VERTICAL, true, false, false);
//由cart工厂产生的cart可以在以后进行更改。
cart.setTitle(new TextTitle("本公司组织结构图", new Font("宋体",Font.BOLD + Font.ITALIC, 20)));
//产生图表的主体
CategoryPlot plot = (CategoryPlot)chart.getPlot();
//得到横坐标
CategoryAxis categoryAxis = plot.getDomainAxis();
//得到纵坐标,即数据的一个范围
plot.getDataRange(ValueAxis arg0);
//设置横坐标标签的字体
categoryAxis.setLabelFont(new Font("微软雅黑",Font.BOLD,12));
}
public static JPanel createPanel() {
JFreeChart chart = createChart(createDataset());
return new CartPanel(chart);
}
public static void main(String[] args) {
JFreeChartTest2 chart = new JFreeChartTest2("某公司组织结构图")
chart.pack();
chart.setVisible(true);
}
以上为swn方式