package com.winux.GetChart;
import java.awt.Color;
import java.awt.Font;
import java.text.SimpleDateFormat;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.*;
import org.jfree.chart.plot.*;
public class NewJFreeChart {
static Font font = new Font("宋体", Font.PLAIN, 16);
static Font titleFont = new Font("隶书", Font.BOLD, 25);
private static void setTitleAndLegend(JFreeChart chart){
chart.getTitle().setFont(titleFont);
chart.getLegend().setItemFont(font);
}
public static void setBarChartLabelFont(JFreeChart chart) {
setTitleAndLegend(chart);
chart.getCategoryPlot().getDomainAxis().setLabelFont(font);
chart.getCategoryPlot().getDomainAxis().setTickLabelFont(font);
chart.getCategoryPlot().getDomainAxis().setTickLabelPaint(Color.BLUE);
chart.getCategoryPlot().getDomainAxis().setCategoryLabelPosition s(CategoryLabelPositions.UP_45);
chart.getCategoryPlot().getRangeAxis().setLabelFont(font);
chart.getCategoryPlot().getRangeAxis().setTickLabelFont(font);
chart.getCategoryPlot().getRangeAxis().setTickLabelPaint(Color.BLUE);
}
public static void setPieChartLabelFont(JFreeChart chart) {
setTitleAndLegend(chart);
((PiePlot) chart.getPlot()).setLabelFont(font);
}
public static void setTimeSeriesChartLabelF ont(JFreeChart chart, String DateFormat) {
setTitleAndLegend(chart);
DateAxis dateaxis = (DateAxis) ((XYPlot) chart.getPlot()).getDomainAxis();
dateaxis.setDateFormatOverride(new SimpleDateFormat(DateFormat));
dateaxis.setTickUnit(new DateTickUnit(DateTickUnitType.YEAR, 1));
((XYPlot) chart.getPlot()).getDomainAxis().setLabelFont(font);
((XYPlot) chart.getPlot()).getDomainAxis().setTickLabelFont(font);
((XYPlot) chart.getPlot()).getDomainAxis().setTickLabelPaint(Color.BLUE);
((XYPlot) chart.getPlot()).getRangeAxis().setLabelFont(font);
((XYPlot) chart.getPlot()).getRangeAxis().setTickLabelFont(font);
((XYPlot) chart.getPlot()).getRangeAxis().setTickLabelPaint(Color.BLUE);
}
public static void setLineChartLabelFont(JFreeChart chart) {
setTitleAndLegend(chart);
chart.getCategoryPlot().getDomainAxis().setTickLabelFont(font);
chart.getCategoryPlot().getDomainAxis().setLabelFont(font);
chart.getCategoryPlot().getDomainAxis().setTickLabelPaint(Color.BLUE);
chart.getCategoryPlot().getDomainAxis().setCategoryLabelPosition s(CategoryLabelPositions.UP_45);
((NumberAxis) chart.getCategoryPlot().getRangeAxis()).setTickLabelFont(font);
((NumberAxis) chart.getCategoryPlot().getRangeAxis()).setLabelFont(font);
((NumberAxis) chart.getCategoryPlot().getRangeAxis()).setTickLabelPaint(Color.BLUE);
}
}