|
@@ -39,6 +39,9 @@ import org.jfree.chart.ui.TextAnchor;
|
|
|
import org.jfree.data.category.CategoryDataset;
|
|
|
import org.jfree.data.category.DefaultCategoryDataset;
|
|
|
import org.jfree.data.general.DefaultPieDataset;
|
|
|
+import org.jfree.data.xy.XYDataset;
|
|
|
+import org.jfree.data.xy.XYSeries;
|
|
|
+import org.jfree.data.xy.XYSeriesCollection;
|
|
|
|
|
|
/**
|
|
|
* @program: poi-word
|
|
@@ -208,6 +211,38 @@ public class ChartUtils {
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
+ public static int createScatterPort(String title,Map<String,Double> datas,String xName,String yName,String url){
|
|
|
+ int res = 0;
|
|
|
+ try {
|
|
|
+ //种类数据集
|
|
|
+ XYSeriesCollection dataset=new XYSeriesCollection();
|
|
|
+ //获取迭代器:
|
|
|
+ Set<Entry<String, Double>> set = datas.entrySet();
|
|
|
+ Iterator iterator=(Iterator) set.iterator();
|
|
|
+ Entry entry=null;
|
|
|
+ while(iterator.hasNext()){
|
|
|
+ entry=(Entry) iterator.next();
|
|
|
+ XYSeries ie=new XYSeries("结果");
|
|
|
+ ie.add(Double.parseDouble(entry.getValue().toString()),//y
|
|
|
+ Double.parseDouble(entry.getKey().toString()));
|
|
|
+ dataset.addSeries(ie); //x
|
|
|
+ }
|
|
|
+ //创建折线图,折线图分水平显示和垂直显示两种
|
|
|
+ JFreeChart chart = ChartFactory.createXYLineChart(title, xName, yName, dataset,//2D折线图
|
|
|
+ PlotOrientation.VERTICAL,
|
|
|
+ false, // 是否显示图例(对于简单的柱状图必须是false)
|
|
|
+ true, // 是否生成工具
|
|
|
+ true);// 是否生成URL链接
|
|
|
+ //得到绘图区
|
|
|
+ setLineRender((CategoryPlot)chart.getPlot(),true,true);
|
|
|
+ org.jfree.chart.ChartUtils.saveChartAsPNG(new File(url), chart, 1000,600);
|
|
|
+ res ++;
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 提供静态方法:获取报表图形3:折线图
|
|
|
* @param title 标题
|