记录jfreechart生成图片测试程,主要是为自己研究过之后的记录:)
折线图+柱状图
柱状图(堆叠)+折线图
获取饼状图
获取环形图
jar包下载地址:https://download.youkuaiyun.com/download/srying/11123104
pom.xml文件配置配置
<!-- 折线图依赖 -->
<dependency>
<groupId>jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.0.19</version>
</dependency>
<dependency>
<groupId>jfree</groupId>
<artifactId>jcommon</artifactId>
<version>1.0.23</version>
</dependency>
package com.zjhc.iiap.common;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.Rectangle;
import java.awt.SystemColor;
import java.io.File;
//import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DecimalFormat;
//import java.text.NumberFormat;
import java.util.Locale;
//import org.apache.commons.lang.WordUtils;
import org.jfree.chart.ChartColor;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
//import org.jfree.chart.ChartFrame;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.StandardChartTheme;
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.ItemLabelAnchor;
import org.jfree.chart.labels.ItemLabelPosition;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.DatasetRenderingOrder;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.RingPlot;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.chart.renderer.category.StackedBarRenderer;
import org.jfree.chart.renderer.category.StandardBarPainter;
//import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DatasetUtilities;
import org.jfree.data.general.DefaultPieDataset;
//import org.jfree.data.general.PieDataset;
//import org.jfree.ui.RectangleEdge;
import org.jfree.ui.TextAnchor;
public class JFreeChartUtil2 {
/*public static void main(String[] args) {
DefaultCategoryDataset barDataSet = new DefaultCategoryDataset();
barDataSet.addValue(0.6, "评价人数", "1月");
barDataSet.addValue(0.9, "评价人数", "2月");
DefaultCategoryDataset lineDataSet = new DefaultCategoryDataset();
lineDataSet.addValue(0.2, "评分", "1月");
lineDataSet.addValue(0.5, "评分", "2月");
getPhoFilePathTest(barDataSet, lineDataSet, "test", true);
}*/
/**
* 获取生成图片数据源
* 折线图+柱状图
* @param barDataSet 柱状图数据
* @param lineDataSet 折线图数据
* @param fileName 数据文件名称
* @param isPer0 第一个是否使用百分比刻度 true使用,false 不使用
* @param isPer1 第二个是否使用百分比刻度 true使用,false 不使用
* @param title 图片标题
* @return
*/
@SuppressWarnings("deprecation")
private static void getPhoFilePathTest(DefaultCategoryDataset barDataSet, DefaultCategoryDataset lineDataSet, String fileName, boolean isPer){
//创建主题样式 ,以下代码用于解决中文乱码问题
StandardChartTheme standardChartTheme=new StandardChartTheme("CN");
//设置标题字体
standardChartTheme.setExtraLargeFont(new Font("宋体",Font.BOLD,20));
//设置图例的字体
standardChartTheme.setRegularFont(new Font("宋体",Font.PLAIN,15));
//设置轴向的字体
standardChartTheme.setLargeFont(new Font("宋体",Font.PL