`
younglibin
  • 浏览: 1196086 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jfreeChart横向图图参数设置

阅读更多

import java.awt.Color;
import java.awt.Font;
import java.text.DecimalFormat;

import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.renderer.category.BarRenderer;

/**
 * 格式化 JFreeChart 输出图片使用
 * 
 *   
 * Author : 
 * Date   : Nov 26, 2009
 * Time   : 11:50:41 AM 
 * Version: 1.0
 */
public class FormatPic {
	/**
	 * 格式化纵向柱状图使用
	 * 
	 * @param chart
	 * @returnType: void
	 * @author: 
	 * @data: Nov 26, 2009
	 * @time: 11:51:26 AM
	 */
	public static void setView(JFreeChart chart){
			CategoryPlot plot = chart.getCategoryPlot(); 
		   // 数据轴精度 
		   NumberAxis vn = (NumberAxis) plot.getRangeAxis(); 
		   // 设置刻度必须从0开始 
		   // vn.setAutoRangeIncludesZero(true); 
		   DecimalFormat df = new DecimalFormat("#0.00"); 
		   vn.setNumberFormatOverride(df);
		   // 数据轴数据标签的显示格式 
		   CategoryAxis domainAxis = plot.getDomainAxis(); 
		   domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45); // 横轴上的 
		   // Lable 
		   Font labelFont = new Font("SansSerif", Font.TRUETYPE_FONT, 12); 
		   domainAxis.setLabelFont(labelFont);// 轴标题 
		   domainAxis.setTickLabelFont(labelFont);// 轴数值 
		   domainAxis.setMaximumCategoryLabelWidthRatio(0.8f);
		   // 横轴上的 Lable 是否完整显示 
		   // domainAxis.setVerticalCategoryLabels(false); 
		   plot.setDomainAxis(domainAxis); 
		   ValueAxis rangeAxis = plot.getRangeAxis(); 
		   // 设置最高的一个 Item 与图片顶端的距离 
		   rangeAxis.setUpperMargin(0.15); 
		   // 设置最低的一个 Item 与图片底端的距离 
		   rangeAxis.setLowerMargin(0.15); 
		   plot.setRangeAxis(rangeAxis); 
		   BarRenderer renderer = new BarRenderer(); 
		   // 设置柱子宽度 
		   renderer.setMaximumBarWidth(0.03); 
		   // 设置柱子高度 
		   renderer.setMinimumBarLength(30); 
		   renderer.setBaseOutlinePaint(Color.BLACK); 
		   // 设置柱的颜色 
		   renderer.setSeriesPaint(0, Color.GREEN); 
		   renderer.setSeriesPaint(1, new Color(0, 0, 255)); 
		   // 设置每个地区所包含的平行柱的之间距离 
		   renderer.setItemMargin(0.5); 
		   // 显示每个柱的数值,并修改该数值的字体属性 
		   renderer 
			 .setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); 
		   // 设置柱的数值可见 
		   renderer.setBaseItemLabelsVisible(true); 
		   plot.setRenderer(renderer); 
		   // 设置柱的透明度 
		   plot.setForegroundAlpha(0.6f); 
	}
}

  

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics