自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JFreeChart最佳實(shí)踐:時(shí)序圖

開發(fā) 后端
本文將介紹作者通過(guò)Java最佳圖形解決方案JFreeChart實(shí)現(xiàn)時(shí)序圖的詳細(xì)過(guò)程。

1、準(zhǔn)備Jar包:jfreechart-1.0.13.jar和jcommon-1.0.16.jar

2、配置web.xml

  1. <!-- JFreeChart --> 
  2.     <servlet> 
  3.         <servlet-name>DisplayChart</servlet-name> 
  4.         <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class> 
  5.     </servlet> 
  6.     <servlet-mapping> 
  7.         <servlet-name>DisplayChart</servlet-name> 
  8.         <url-pattern>/DisplayChart</url-pattern> 
  9.     </servlet-mapping> 

3、Action(Struts2)

  1. /**  
  2.      * 曲線圖  
  3.      * */ 
  4.     @SuppressWarnings("deprecation")  
  5.     public String quxiantu() throws Exception {  
  6.         String plateNum = request.getParameter("plateNum");  
  7.         String startDateTimeStr = request.getParameter("startTime");  
  8.         String stopDateTimeStr = request.getParameter("stopTime");  
  9.         List<Object[]> dataSet = mileageStatService.getVehicleFuelByPlateNum(plateNum, startDateTimeStr, stopDateTimeStr);  
  10.           
  11.         //訪問(wèn)量統(tǒng)計(jì)時(shí)間線  
  12.         TimeSeries timeSeries = new TimeSeries(plateNum+"油耗統(tǒng)計(jì)", Minute.class);  
  13.         //時(shí)間曲線數(shù)據(jù)集合  
  14.         TimeSeriesCollection lineDataset = new TimeSeriesCollection();         
  15.         //構(gòu)造數(shù)據(jù)集合  
  16.         for(Object[] obj : dataSet){  
  17.             timeSeries.addOrUpdate(new Minute(dateformat.parse(obj[0].toString())), Long.valueOf(obj[1].toString()));  
  18.         }  
  19.         lineDataset.addSeries(timeSeries);  
  20.         //**************************************************************************************  
  21.         //解決中文亂碼  
  22.         StandardChartTheme standardChartTheme = new StandardChartTheme("JFree");  //或者為L(zhǎng)egacy     
  23.         standardChartTheme.setLargeFont(new Font("宋體", Font.BOLD, 12));     
  24.         standardChartTheme.setRegularFont(new Font("宋體", Font.BOLD, 12));     
  25.         standardChartTheme.setExtraLargeFont(new Font("宋體", Font.BOLD, 12));     
  26.         standardChartTheme.setSmallFont(new Font("宋體", Font.BOLD, 12));     
  27.         ChartFactory.setChartTheme(standardChartTheme);    
  28.         //**************************************************************************************  
  29.         JFreeChart chart = ChartFactory.createTimeSeriesChart("油耗統(tǒng)計(jì)時(shí)間線""時(shí)間""油耗", lineDataset, truetruetrue);           
  30.         //***********************************************************************************  
  31.           
  32.         XYPlot plot = chart.getXYPlot();  
  33.         //設(shè)置網(wǎng)格背景顏色  
  34.         plot.setBackgroundPaint(Color.white);  
  35.         //設(shè)置網(wǎng)格豎線顏色  
  36.         plot.setDomainGridlinePaint(Color.LIGHT_GRAY);  
  37.         //設(shè)置網(wǎng)格橫線顏色  
  38.         plot.setRangeGridlinePaint(Color.LIGHT_GRAY);  
  39.         //設(shè)置曲線圖與xy軸的距離  
  40.         plot.setAxisOffset(new RectangleInsets(0D, 0D, 0D, 10D));  
  41.         //設(shè)置X軸(日期軸)  
  42.         DateAxis dateaxis = (DateAxis) plot.getDomainAxis();  
  43.         //時(shí)間軸間距是5分鐘,格式為小時(shí):分鐘  
  44.         dateaxis.setTickUnit(new DateTickUnit(DateTickUnit.MINUTE, 30));  
  45.         dateaxis.setDateFormatOverride(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));  
  46.         //X軸日期垂直顯示(沒找到傾斜多少度顯示)  
  47.         dateaxis.setVerticalTickLabels(true);  
  48.         //***********************************************************************************  
  49.         //設(shè)置子標(biāo)題  
  50.         TextTitle subtitle = new TextTitle(startDateTimeStr+" 到 "+stopDateTimeStr, new Font("宋體", Font.PLAIN, 12));  
  51.         chart.addSubtitle(subtitle);  
  52.         //設(shè)置主標(biāo)題  
  53.         chart.setTitle(new TextTitle(plateNum+"油耗統(tǒng)計(jì)"new Font("黑體", Font.BOLD, 15)));  
  54.         chart.setAntiAlias(true);  
  55.           
  56.         String filename = ServletUtilities.saveChartAsPNG(chart, 700500null, request.getSession());  
  57.         String graphURL = request.getContextPath() + "/DisplayChart?filename=" + filename;  
  58.           
  59.         request.setAttribute("graphURL", graphURL);  
  60.         request.setAttribute("filename", filename);  
  61.           
  62.         return "quxiantu";  
  63.     } 

4、JSP

  1. <img src="${graphURL}" width="550" height="350" border="0" usemap="#${filename}" > 

附圖:

原文鏈接:http://zhangzi.iteye.com/blog/1130051

【編輯推薦】

  1. JFreeChart***實(shí)踐:3D餅圖
  2. JFreeChart***實(shí)踐:柱狀圖
  3. JFreeChart***實(shí)踐:折線圖
  4. JFreeChart***實(shí)踐:散點(diǎn)圖
  5. JFreeChart***實(shí)踐:儀表盤
責(zé)任編輯:林師授 來(lái)源: zhangzi的博客
相關(guān)推薦

2011-12-21 12:58:41

JavaJFreeChart

2011-12-21 14:34:33

JavaJFreeChart

2011-12-21 13:35:39

JavaJFreeChart

2011-12-21 13:52:27

JavaJFreeChart

2011-12-21 12:46:43

2011-12-21 13:25:33

JavaJFreeChart

2011-12-21 14:15:08

JavaJFreeChart

2011-12-20 12:53:43

JavaJFreeChart

2010-06-10 09:32:21

UML時(shí)序圖

2023-07-21 01:12:30

Reactfalse?變量

2011-08-18 11:05:21

jQuery

2024-05-15 10:28:50

2010-07-01 15:12:34

UML時(shí)序圖

2023-08-23 19:21:38

流程圖時(shí)序圖UML

2012-08-09 09:10:56

代碼審查代碼

2014-06-09 15:50:08

2024-08-21 08:02:47

2014-08-19 10:06:53

IAP

2015-09-23 09:08:38

java反射

2023-09-11 08:50:03

Maven工具關(guān)系管理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)