亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

使用JFreeChart創建圖象

2019-11-18 13:23:19
字體:
來源:轉載
供稿:網友

  一:jfreechart介紹
  jfreechart是一個免費創建圖片的java工具.可以創建如下圖形:
  餅圖(pie charts;)
  曲線圖(line charts )
  柱狀圖(horizontal/vertical bar charts)
  甘特圖(Gantt charts; )
  XY plots and scatter plots;
  time series, high/low/open/close charts and candle stick charts;
  combination charts;
  Pareto charts;
  bubble charts;
  wind plots, meter charts and symbol charts;
  從以下地址可以看到jfreechart可以創建的圖形類型
  http://www.jfree.org/jfreechart/samples.Html
  sourceforge有一個基于jfreechart的項目Cewolf可以很方便的在jsp/servlet中創建圖片
  jfreechart目前(2003-05-08)版本為0.98
  希望得到具體的信息或下載jfreechart請訪問如下站點:
  http://www.jfree.org/jfreechart /
  二:非凡說明:
  jfreechart是一個開源項目,但是文檔是需要40美金去購買的。
  還有一個很重要的問題,jfreechart假如使用中文,他使用的默認字體
  顯示出來的中文會很模糊,你可能需要修改源代碼。
  下面我就舉幾個簡單的例子說明一下如何使用jfreechart創建圖片
  在開發中有可能會導入以下的類
  import com.jrefinery.chart.ChartFactory;
  import com.jrefinery.chart.ChartUtilities;
  import com.jrefinery.chart.JFreeChart;
  import com.jrefinery.chart.TextTitle;
  import com.jrefinery.chart.axis.NumberAxis;
  import com.jrefinery.chart.plot.CategoryPlot;
  import com.jrefinery.chart.plot.PiePlot;
  import com.jrefinery.data.Day;
  import com.jrefinery.data.DefaultCategoryDataset;
  import com.jrefinery.data.DefaultPieDataset;
  import com.jrefinery.data.TimeSeries;
  import com.jrefinery.data.TimeSeriesCollection;
  import com.jrefinery.data.TimeSeriesDataPair;
  在0.98以后包由com.jrefinery.*改變為:org.jfree
  三:創建餅圖
  //圖片標題
  String title = "空調2002年市場占有率";
  //設定數據源
  DefaultPieDataset piedata = new DefaultPieDataset();
  //第一個參數為名稱,第二個參數是double數
  piedata.setValue("聯想", 27.3);
  piedata.setValue("長城", 12.2);
  piedata.setValue("海爾", 5.5);
  piedata.setValue("美的", 17.1);
  piedata.setValue("松下", 9.0);
  piedata.setValue("科龍", 19.0);
  //創建JFreeChart,都使用ChartFactory來創建JFreeChart,很標準的工廠設計模式
  JFreeChart chart =
  ChartFactory.createPieChart(title, piedata, true, true, true);
  //設定圖片標題
  chart.setTitle(new TextTitle(title, new Font("隸書", Font.ITALIC, 15)));
  //chart.addSuBTitle(new TextTitle("2002財年分析", new Font("隸書", Font.ITALIC, 12)));
  //設定背景
  chart.setBackgroundPaint(Color.white);
  //chart.s
  //餅圖使用一個PiePlot
  PiePlot pie = (PiePlot)chart.getPlot();
  //pie.setSectionLabelType(PiePlot.NAME_AND_PERCENT_LABELS);
  pie.setSectionLabelType(PiePlot.NAME_AND_VALUE_LABELS);
  //設定顯示格式(名稱加百分比或數值)
  pie.setPercentFormatString("#,###0.0#%");
  //設定百分比顯示格式
  pie.setBackgroundPaint(Color.white);
  pie.setSectionLabelFont(new Font("黑體", Font.TRUETYPE_FONT, 12));
  //設定背景透明度(0-1.0之間)
  pie.setBackgroundAlpha(0.6f);
  //設定前景透明度(0-1.0之間)
  pie.setForegroundAlpha(0.90f);
  //輸出文件到指定目錄
  String rfname = MathUtil.getRoundCode(12) + ".jpeg";
  String fileName = "d:/test/" + rfname;
  try {
  //可以保存文件為jpg或png格式。
  ChartUtilities.saveChartAsJPEG(new File(fileName), 100, chart, 600, 600);
  //第一個參數為文件名
  //第二個參數質量
  //第三個參數為哪個chart創建圖片
  //第四個寬度
  //第五個高度
  } catch (IOException exz) {
  System.out.  }
  其實使用JFreeChart創建圖片很簡單,不同的的圖片類型區別在于設置數據集
  四:創建曲線圖
  // create a default chart based on some sample data...
  //曲線圖標題
  String title = "趨勢分析";
  //曲線圖X軸提示
  String domain = "月份走勢";
  //曲線圖Y軸提示
  String range = "應收余額";
  //曲線圖自標題
  String subtitleStr = "2003財年分析";
  //創建時間數據源
  //每一個TimeSeries在圖上是一條曲線
  TimeSeries ca = new TimeSeries("用友");
  for (int i = 1999; i < 2005; i++) {
  for (int mon = 0; mon < 12; mon++) {
  //ca.add(new Month(mon + 1, i), new Double(500 + Math.random() * 100));
  //TimeSeriesDataPair是一個時間點的數值體現
  ca.add(
  new TimeSeriesDataPair(
  new Day(1, mon + 1, i),
  new Double(500 + Math.random() * 100)));
  }
  }
  TimeSeries ibm = new TimeSeries("金碟");
  for (int i = 1999; i < 2005; i++) {
  for (int mon = 0; mon < 12; mon++) {
  //ibm.add(new Month(mon+1,i),new Double(400-Math.random()*100));
  ibm.add(
  new TimeSeriesDataPair(
  new Day(1, mon + 1, i),
  new Double(400 - Math.random() * 100)));
  }
  }
  TimeSeries king = new TimeSeries("東軟");
  for (int i = 1999; i < 2005; i++) {
  for (int mon = 0; mon < 12; mon++) {
  //ibm.add(new Month(mon+1,i),new Double(400-Math.random()*100));
  king.add(
  new TimeSeriesDataPair(
  new Day(1, mon + 1, i),
  new Double(300 - Math.random() * 100)));
  }
  }
  //時間曲線數據集合
  TimeSeriesCollection dataset = new TimeSeriesCollection();
  dataset.addSeries(ca);
  dataset.addSeries(ibm);
  dataset.addSeries(king);
  //dataset.addSeries(jpy);
  //dataset.addSeries(mav);
  //時間曲線元素
  JFreeChart chart =
  ChartFactory.createTimeSeriesChart(
  title,
  domain,
  range,
  dataset,
  true,
  true,
  false);
  // then customise it a little...
  TextTitle subtitle =
  new TextTitle(subtitleStr, new Font("黑體", Font.BOLD, 12));
  chart.addSubtitle(subtitle);
  chart.setTitle(new TextTitle(title, new Font("隸書", Font.ITALIC, 15)));
  //pie.setSeriesLabelFont(new Font("黑體", Font.BOLD, 15));
  chart.setBackgroundPaint(
  new GradientPaint(0, 0, Color.white, 0, 1000, Color.blue));
  //sysout
  //輸出文件到指定目錄
  String rfname = MathUtil.getRoundCode(22) + ".jpeg";
  String fileName = "d:/test/" + rfname;
  try {
  //for
  //System.out.println();
  ChartUtilities.saveChartAsJPEG(new File(fileName), 100, chart, 600, 600);
  // log.info("....Create image File:" + fileName);
  } catch (IOException exz) {
  System.out.print("....Cant’t Create image File");
  }
  五:創建柱狀圖
  String title = "柱狀圖測試";
  String domain = "單位比較";
  String range = "數值";
  //CategoryDataset data = DemoDatasetFactory.createCategoryDataset();
  DefaultCategoryDataset data = new DefaultCategoryDataset();
  for (int r = 0; r < 5; r++) {
  String rowKey = "單位 [" + (r + 1)+"]" ;
  //第一層循環:分析對象
  for (int c = 0; c < 6; c++) {
  //第二層循環:分析對象在時間點上的數據
  String columnKey = "2001年" + (c + 1) + "月";
  data.addValue(new Double(r * c + 5), rowKey, columnKey);
  }
  }
  JFreeChart chart =
  ChartFactory.createVerticalBarChart(
  title,
  domain,
  range,
  data,
  true,
  true,
  false);
  // then customise it a little...
  chart.setBackgroundPaint(
  new GradientPaint(0, 0, Color.white, 1000, 0, Color.red));
  chart.setTitle(new TextTitle(title, new Font("隸書", Font.ITALIC, 15)));
  CategoryPlot plot = (CategoryPlot)chart.getPlot();
  plot.setForegroundAlpha(0.9f);
  plot.setValueLabelFont(new Font("黑體", Font.TRUETYPE_FONT, 12));
  //plot.setSectionLabelFont(new Font("黑體", Font.TRUETYPE_FONT, 12));
  //注重以下代碼

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕亚洲色图| 96精品久久久久中文字幕| 日韩欧美国产激情| 亚洲男人第一网站| 国产精品稀缺呦系列在线| 久久精品99久久香蕉国产色戒| 亚洲a级在线播放观看| 日本不卡高字幕在线2019| 亚洲摸下面视频| 伊人久久久久久久久久久| 97视频在线观看免费高清完整版在线观看| 久久伊人色综合| 成人在线观看视频网站| 国产精品丝袜视频| 日韩av在线网站| 成人黄色中文字幕| 亚洲国模精品私拍| 亚洲精品美女久久久| 亚洲a一级视频| 日韩第一页在线| 成人黄在线观看| 九色精品美女在线| 国产精品6699| 亚洲精品视频中文字幕| 精品国产老师黑色丝袜高跟鞋| 久久精品国产亚洲7777| 97av在线播放| 一个人看的www久久| 国产精品成人在线| 最近中文字幕mv在线一区二区三区四区| 少妇久久久久久| www.国产精品一二区| 97精品一区二区视频在线观看| 777精品视频| 亚洲欧美一区二区三区在线| 国产欧美日韩免费| 日本欧美国产在线| 成人精品久久久| 欧美成人免费全部观看天天性色| 日韩在线播放一区| 亚洲国产99精品国自产| 免费97视频在线精品国自产拍| 久久av资源网站| 一区二区三区日韩在线| 日韩一区二区久久久| 成人免费福利在线| 亚洲无亚洲人成网站77777| 国产精品99久久99久久久二8| 亚洲aa中文字幕| 久久久久久91香蕉国产| 欧美在线视频观看免费网站| 日韩激情在线视频| 精品国产欧美一区二区五十路| 国产成人91久久精品| 这里只有精品丝袜| 97视频在线观看免费| 国产不卡精品视男人的天堂| 国产精品av网站| 最近2019年好看中文字幕视频| 国产精品成人一区| 欧美大尺度激情区在线播放| 国产精品流白浆视频| 97久久超碰福利国产精品…| 久久这里只有精品视频首页| 欧美激情女人20p| 国产亚洲欧美视频| 久久成人精品一区二区三区| 亚洲电影免费在线观看| 精品国产1区2区| 亚洲国产黄色片| 中文字幕综合在线| 日韩一区二区福利| 日本一欧美一欧美一亚洲视频| 欧美日韩国产中文字幕| 97在线精品国自产拍中文| 国产在线精品一区免费香蕉| 久久这里只有精品视频首页| 精品久久久久久久久久| 91欧美激情另类亚洲| 日韩美女视频免费看| 在线a欧美视频| 日韩电影网在线| 国产91在线播放九色快色| 欧洲午夜精品久久久| 欧美日韩国产色| 91国语精品自产拍在线观看性色| 亚洲欧美激情精品一区二区| 国产亚洲视频中文字幕视频| 一区二区三区日韩在线| 夜夜狂射影院欧美极品| 国产精品爽黄69天堂a| 日韩一区二区三区xxxx| 中文字幕自拍vr一区二区三区| 91久久国产综合久久91精品网站| 久久久国产视频| 精品国产美女在线| 欧美黄色www| 国产日韩欧美成人| www.欧美视频| 高潮白浆女日韩av免费看| 91亚洲国产精品| 欧美一级淫片aaaaaaa视频| 亚洲精品ady| 中文字幕在线视频日韩| 亚洲精品视频二区| 亚洲精品国产精品国自产在线| 成人日韩av在线| 国产美女精品视频| 亚洲护士老师的毛茸茸最新章节| 日韩暖暖在线视频| 国产91在线高潮白浆在线观看| 国产欧洲精品视频| 成人黄色短视频在线观看| 久久婷婷国产麻豆91天堂| 亚洲精品国产拍免费91在线| 亚洲第一偷拍网| 亚洲精选一区二区| 自拍偷拍亚洲在线| 久久久日本电影| 日本久久久久亚洲中字幕| 日韩在线观看你懂的| 国产精品69久久| 国产精品久久久久久久久| 一区二区三区美女xx视频| 国产精品偷伦免费视频观看的| 亚洲美女av黄| 中文字幕亚洲欧美日韩2019| 在线观看精品自拍私拍| 久久精品91久久久久久再现| 精品国产区一区二区三区在线观看| 精品免费在线视频| 亚洲精品福利免费在线观看| 欧美性极品少妇精品网站| 国产亚洲欧洲黄色| 欧美天堂在线观看| 日韩精品在线第一页| 成人免费观看网址| 国产啪精品视频| 欧美又大又硬又粗bbbbb| 韩国视频理论视频久久| 中文字幕日韩精品有码视频| 国产精品专区第二| www.亚洲一二| 在线观看91久久久久久| 日韩中文字幕精品| 欧美肥臀大乳一区二区免费视频| 欧美人交a欧美精品| 欧美午夜精品在线| 欧美激情一级精品国产| www.亚洲免费视频| 91久久精品国产| 国产欧美在线视频| 亚洲天堂成人在线视频| 欧美激情中文字幕乱码免费| 国产一区二区三区视频免费| 成人国内精品久久久久一区| 日韩一区二区福利| 日本久久精品视频| 欧美亚洲视频一区二区| 亚洲视频专区在线| 亚洲人成在线观看网站高清| 国产精品久久久久久久一区探花| 欧美另类99xxxxx| 亚洲欧美日韩精品|