⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rotatedaxislabels.java

📁 cewolf是个一个自动报表程序
💻 JAVA
字号:
package de.laures.cewolf.cpp;

import java.util.Map;

import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.data.category.CategoryDataset;

import de.laures.cewolf.ChartPostProcessor;

/**
* A cewolf post-processor for rotating and/or removing the labels on the X-Axis
* parameters:
* rotate_at: make the labels vertical
* skip_at: print only some of the labels (so they don't overlap)
* remove_at: don't print any labels
*
* Usage:
* <chart:chartpostprocessor id="labelRotation">
* <chart:param name="rotate_at" value='<%= new Integer(10) %>'/>
* <chart:param name="skip_at" value='<%= new Integer(50) %>'/>
* <chart:param name="remove_at" value='<%= new Integer(100) %>'/>
* </chart:chartpostprocessor>
*
*
* @author Rich Unger
*/

public class RotatedAxisLabels implements ChartPostProcessor {
	
public void processChart(Object chart, Map params) {
		CategoryPlot plot = (CategoryPlot) ((JFreeChart) chart).getPlot();

		CategoryAxis axis = plot.getDomainAxis();

		Number rotateThreshold = (Number) params.get("rotate_at");
		Number skipThreshold = (Number) params.get("skip_at");
		Number removeThreshold = (Number) params.get("remove_at");

		CategoryDataset dataset = plot.getDataset();
		int iCategoryCount = dataset.getRowCount();

		if (rotateThreshold != null) 
    {
      if (iCategoryCount >= rotateThreshold.intValue()) 
      {
        axis.setCategoryLabelPositions(CategoryLabelPositions.UP_90);
      }
      else 
      {
        axis.setCategoryLabelPositions(CategoryLabelPositions.STANDARD);
      }

    }
    
		if (skipThreshold != null) 
    {
      //this method does nothing in jfreechart .9.18
			//axis.setSkipCategoryLabelsToFit(iCategoryCount >= skipThreshold.intValue());
		}
		
    if (removeThreshold != null) 
    {
			axis.setTickLabelsVisible(iCategoryCount < removeThreshold.intValue());
		}
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -