日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【JFreeChart】JFreeChart—输出时序图

發(fā)布時(shí)間:2024/4/14 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【JFreeChart】JFreeChart—输出时序图 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

時(shí)序圖(Time Series Chart)是按照時(shí)間軸顯示的圖形。通常可以按照年、月、日等時(shí)間周來(lái)顯示。

實(shí)現(xiàn)代碼:

TimeChartServlet.java

package com.lmb.jfreechart;import java.awt.BasicStroke; import java.io.IOException;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; import org.jfree.data.general.SeriesException; import org.jfree.data.time.Day; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.jfree.data.xy.XYDataset;public class TimeChartServlet extends HttpServlet {private static final long serialVersionUID = -2380167170122284327L;public TimeChartServlet() {super();}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 設(shè)置返回類(lèi)型為圖片response.setContentType("image/png");// 獲取數(shù)據(jù)集對(duì)象XYDataset dataset = createDataset();// 創(chuàng)建圖形對(duì)象JFreeChart jfreechart = ChartFactory.createTimeSeriesChart("時(shí)序圖","POLO歷史價(jià)格", "價(jià)格", dataset, false, false, false);XYPlot xyplot = (XYPlot) jfreechart.getPlot();//獲得折線顯示對(duì)象XYLineAndShapeRenderer xylineandshaperenderer = new XYLineAndShapeRenderer();//設(shè)置不顯示折線xylineandshaperenderer.setBaseShapesVisible(false);//設(shè)置折線的粗細(xì)xylineandshaperenderer.setSeriesStroke(0, new BasicStroke(0.5F, 1, 1, 5F, new float[] { 5F, 10F }, 0.0F));xyplot.setRenderer(xylineandshaperenderer);// 將圖表已數(shù)據(jù)流的方式返回給客戶端ChartUtilities.writeChartAsPNG(response.getOutputStream(), jfreechart,500, 270);}/*** 返回?cái)?shù)據(jù)集* * @return*/private static XYDataset createDataset() {//創(chuàng)建時(shí)序?qū)ο?/span>TimeSeries timeseries = new TimeSeries("JAVA");//初始化日期為1990年1月1日Day day = new Day(1, 1, 1990);double d = 100000D;//添加1000條數(shù)據(jù)for (int i = 0; i < 4000; i++)try {//隨機(jī)取出100附近數(shù)d = (d + Math.random()) - 0.5D;//添加到時(shí)序?qū)ο?/span>timeseries.add(day, new Double(d));//之后的一天day = (Day) day.next();} catch (SeriesException seriesexception) {}//返回XYDataset數(shù)據(jù)集return new TimeSeriesCollection(timeseries);} }

web.xml略。。。

總結(jié):

1、利用XYDataset數(shù)據(jù)集繪制時(shí)序圖,時(shí)序圖的數(shù)據(jù)集可以通過(guò)TimeSeries對(duì)象設(shè)置;

2、對(duì)應(yīng)創(chuàng)建時(shí)序圖的方法是createTimeSeriesChart();

3、利用XYLineAndShapeRenderer對(duì)象設(shè)置繪制線條的顯示方式。

總結(jié)

以上是生活随笔為你收集整理的【JFreeChart】JFreeChart—输出时序图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。