`
Jekey
  • 浏览: 24575 次
  • 性别: Icon_minigender_1
  • 来自: 海淀
社区版块
存档分类
最新评论

JfreeChart实现人口金字塔图

    博客分类:
  • JAVA
阅读更多

产品开发中,需要做一个人口金字塔图,参考了一下jfreechart demo中的图,发现图中的负值仍显示负值,不符合要求。于是仔细分析了一下jfreechart的源代码,发现jfreechart是使用NumberFormat来显示坐标轴的刻度标签的,于是继承了NumberFormat类来完成该功能:

import java.text.FieldPosition;
import java.text.NumberFormat;
import java.text.ParsePosition;

/**
 * 该类将金字塔的负值按正值显示
 * @author jekey
 * @version 1.0
 * @date 2010-12-01
 */
public class NavFormat  extends NumberFormat{

	@Override
	public StringBuffer format(double number, StringBuffer toAppendTo,
			FieldPosition pos) {
		// TODO Auto-generated method stub
		if(number<0){
			number=number*-1;
		}
		return toAppendTo.append(number);
	}

	@Override
	public StringBuffer format(long number, StringBuffer toAppendTo,
			FieldPosition pos) {
		// TODO Auto-generated method stub
		if(number<0){
			number=number*-1;//此处将负值显示为正
		}
		return toAppendTo.append(number);
	}

	@Override
	public Number parse(String source, ParsePosition parsePosition) {
		// TODO Auto-generated method stub
		return null;
	}

}

 人口金字塔类见附件(jfreechart版本13):

效果上图:人口金字塔图

 

  • 大小: 25.7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics