一、实现前效果
二、实现后效果
三、编程代码
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.geom.Ellipse2D;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import org.apache.log4j.Logger;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.StandardChartTheme;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.block.BlockBorder;
import org.jfree.chart.block.BlockContainer;
import org.jfree.chart.block.BorderArrangement;
import org.jfree.chart.entity.StandardEntityCollection;
import org.jfree.chart.labels.StandardCategoryToolTipGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.DatasetRenderingOrder;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.chart.title.CompositeTitle;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.urls.CategoryURLGenerator;
import org.jfree.chart.urls.StandardCategoryURLGenerator;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.general.DatasetUtilities;
import org.jfree.ui.RectangleEdge;
import org.jfree.ui.RectangleInsets;
import com.mln.frame.ChartAction;
import com.mln.frame.DateUtil;
import com.mln.frame.IBaseDao;
public class SunIndexChartAction extends ChartAction{
private static Logger logger = Logger.getLogger(SunIndexChartAction.class);
private IBaseDao<Object[]> daoSrv;
private CategoryDataset dataset;
private CategoryDataset datasetTwo;
private int width;
private int height;
private String kpiYear;
@Override
public String execute() {
try{
Map<String, double[]> dataMap = getMonthEnergy();
String title="";
if(kpiYear!=null&&!"".equals(kpiYear)){
title= kpiYear + "年太阳能资源指标分析";
}else{
title= "太阳能资源指标分析";
}
String[] rowKeysOne = {"水平总辐射量","固定式斜面总辐射量","