用JFreeChart来创建一个图表(饼图和柱状图,swn方式)

 

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方式

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值