packagecom.crs.ticket.wanda.utils;importjava.awt.Color;importjava.awt.Font;importjava.awt.Rectangle;importjava.io.IOException;importjava.text.NumberFormat;importjava.util.Iterator;importjava.util.List;importjava.util.Map;importjavax.servlet.http.HttpServletRequest;importorg.jfree.chart.ChartColor;importorg.jfree.chart.ChartFactory;importorg.jfree.chart.JFreeChart;importorg.jfree.chart.axis.CategoryAxis;importorg.jfree.chart.axis.CategoryAxis3D;importorg.jfree.chart.axis.DateAxis;importorg.jfree.chart.axis.DateTickUnit;importorg.jfree.chart.axis.NumberAxis;importorg.jfree.chart.axis.NumberAxis3D;importorg.jfree.chart.labels.ItemLabelAnchor;importorg.jfree.chart.labels.ItemLabelPosition;importorg.jfree.chart.labels.StandardCategoryItemLabelGenerator;importorg.jfree.chart.labels.StandardPieSectionLabelGenerator;importorg.jfree.chart.labels.StandardXYItemLabelGenerator;importorg.jfree.chart.plot.CategoryPlot;importorg.jfree.chart.plot.PiePlot;importorg.jfree.chart.plot.PiePlot3D;importorg.jfree.chart.plot.PlotOrientation;importorg.jfree.chart.plot.XYPlot;importorg.jfree.chart.renderer.category.BarRenderer;importorg.jfree.chart.renderer.category.BarRenderer3D;importorg.jfree.chart.renderer.category.LineAndShapeRenderer;importorg.jfree.chart.renderer.xy.XYItemRenderer;importorg.jfree.chart.renderer.xy.XYLineAndShapeRenderer;importorg.jfree.chart.servlet.ServletUtilities;importorg.jfree.chart.title.TextTitle;importorg.jfree.data.category.CategoryDataset;importorg.jfree.data.category.DefaultCategoryDataset;importorg.jfree.data.general.DatasetUtilities;importorg.jfree.data.general.DefaultPieDataset;importorg.jfree.data.time.Month;importorg.jfree.data.time.TimeSeries;importorg.jfree.data.time.TimeSeriesCollection;importorg.jfree.ui.TextAnchor;public classjfreeChartUtil {//解决jfreeChart1.0.13中文乱码问题
public static voidconfigFont(JFreeChart chart) {//配置字体
Font font = new Font("宋体", Font.BOLD, 20);
Font font1= new Font("宋体", Font.BOLD, 15);
chart.getTitle().setFont(font);//大标题
if (chart.getLegend() != null) {
chart.getLegend().setItemFont(font);
}if (chart.getPlot() instanceof CategoryPlot && ((CategoryPlot) chart.getPlot()).getRenderer() instanceof BarRenderer3D) {//柱状图//chart.getCategoryPlot().getDomainAxis().setLabelFont(font);//水平底部列表//chart.getCategoryPlot().getDomainAxis().setTickLabelFont(font);//水平底部标题//chart.getCategoryPlot().getRangeAxis().setLabelFont(font);//垂直列表//chart.getCategoryPlot().getRangeAxis().setTickLabelFont(font);//垂直标题//处理图形上的乱码//处理主标题的乱码
chart.getTitle().setFont(new Font("宋体", Font.BOLD, 18));//处理子标题乱码
if(chart.getLegend()!=null){
chart.getLegend().setItemFont(new Font("宋体", Font.BOLD, 15));
}//获取图表区域对象
CategoryPlot categoryPlot =(CategoryPlot) chart.getPlot();//获取X轴的对象
CategoryAxis3D categoryAxis3D =(CategoryAxis3D) categoryPlot.getDomainAxis();//获取Y轴的对象
NumberAxis3D numberAxis3D =(NumberAxis3D) categoryPlot.getRangeAxis();//处理X轴上的乱码
categoryAxis3D.setTickLabelFont(new Font("宋体", Font.BOLD, 15));//处理X轴外的乱码
categoryAxis3D.setLabelFont(new Font("宋体", Font.BOLD, 15));//处理Y轴上的乱码
numberAxis3D.setTickLabelFont(new Font("宋体", Font.BOLD, 15));//处理Y轴外的乱码
numberAxis3D.setLabelFont(new Font("宋体", Font.BOLD, 15));//处理Y轴上显示的刻度,以1作为1格//numberAxis3D.setAutoTickUnitSelection(false);//NumberTickUnit unit = new NumberTickUnit(1);//numberAxis3D.setTickUnit(unit);//获取绘图区域对象
BarRenderer3D barRenderer3D =(BarRenderer3D) categoryPlot.getRenderer();//设置柱形图的宽度
<