jfreechart之timeseries 博客分类: j2ee chartjfreecharttimeseries
程序员文章站
2024-03-20 11:50:34
...
package jfreechart; import java.awt.Color; import java.awt.Font; import java.io.File; import java.io.IOException; import java.util.Random; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.StandardChartTheme; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.renderer.xy.XYItemRenderer; import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; 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 TimeSeriesChart { private TimeSeries prepareTimeSeries(String seriesName){ TimeSeries timeSeries = new TimeSeries(seriesName); Random random = new Random(); for(int i=0;i<10;i++){ timeSeries.add(new Day(21,(i+1),2014),random.nextInt(100)); } return timeSeries; } private XYDataset createDataset() { TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(prepareTimeSeries("timeseries01")); dataset.addSeries(prepareTimeSeries("timeseries02")); dataset.addSeries(prepareTimeSeries("timeseries03")); return dataset; } private void setUpTheme(){ //创建主题样式 StandardChartTheme standardChartTheme=new StandardChartTheme("CN"); //设置标题字体 standardChartTheme.setExtraLargeFont(new Font("隶书",Font.BOLD,20)); //设置图例的字体 standardChartTheme.setRegularFont(new Font("宋书",Font.PLAIN,15)); //设置轴向的字体 standardChartTheme.setLargeFont(new Font("宋书",Font.PLAIN,15)); //应用主题样式 ChartFactory.setChartTheme(standardChartTheme); } public void createTimeSeriesChart() throws IOException { setUpTheme(); JFreeChart timeSeriesChart = ChartFactory.createTimeSeriesChart( "title", "xLabel", "yLabel", createDataset(), true, true, false); setStyle(timeSeriesChart); ChartUtilities.saveChartAsPNG(new File("timeseries.png"), timeSeriesChart, 600, 600); } private void setStyle(JFreeChart timeSeriesChart) { XYPlot plot = timeSeriesChart.getXYPlot(); plot.setDomainGridlinePaint(Color.LIGHT_GRAY); plot.setRangeGridlinePaint(Color.LIGHT_GRAY); XYItemRenderer render = plot.getRenderer(); if (render instanceof XYLineAndShapeRenderer) { XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) render; renderer.setBaseShapesVisible(true); renderer.setBaseShapesFilled(true); // set the first time series renderer.setSeriesLinesVisible(0, false); renderer.setSeriesPaint(0, Color.green); } } public static void main(String[] args) throws IOException { new TimeSeriesChart().createTimeSeriesChart(); } }
上一篇: servlet向前端写alert弹窗
下一篇: 表格样式的应用——对程序员比较有用(二)