如何使用Jfreechart绘制日图

我每15分钟就有一次数据。 我想绘制一个图表来显示从’date1’到’date2’的值。 该图应显示每15分钟的值。 但是在X轴上显示应该只显示日期。

如何以15分钟的间隔创建样本XYPlot(显示为日期)

1)创建数据。

XYSeries dataSeries = new XYSeries("SMS Sent"); 

2)添加轴。 如果希望x轴显示日期,请使用DateAxis作为x轴。 输入日期数据为长(以毫秒为单位)。 jfreecharts将为您处理格式。

  DateAxis dateAxis = new DateAxis(timeAxisTitle); DateTickUnit unit = null; unit = new DateTickUnit(DateTickUnit.MINUTE,15); DateFormat chartFormatter = new SimpleDateFormat("yyyy/MM/dd HH:mm"); dateAxis.setDateFormatOverride(chartFormatter); dateAxis.setTickUnit(unit); NumberAxis valueAxis = new NumberAxis(valueAxisTitle); 

3)使用DateTickUnit对象设置刻度尺寸(例如15分钟)。这将每15分钟绘制一个点。

4)使用Tooltip生成器生成工具提示(可选)

  XYSeriesCollection xyDataset = new XYSeriesCollection(dataSeries); StandardXYToolTipGenerator ttg = new StandardXYToolTipGenerator( "{0}: {2}", chartFormatter, NumberFormat.getInstance()); StandardXYItemRenderer renderer = new StandardXYItemRenderer( StandardXYItemRenderer.SHAPES_AND_LINES, ttg, null); renderer.setShapesFilled(true); XYPlot plot = new XYPlot(xyDataset, dateAxis, valueAxis, renderer); JFreeChart chart = new JFreeChart(chartTitle, JFreeChart.DEFAULT_TITLE_FONT, plot, false); chart.setBackgroundPaint(java.awt.Color.WHITE); 

5)通过实例化新的JFreeChart对象来创建图表。 然后,您可以将其保存或显示在屏幕上。 有关如何执行此操作,请参阅Java文档。