<%
//流量统计时间线
TimeSeries timeSeries=new TimeSeries("CPU负载使用率",Hour.class);
//时间曲线数据集合
TimeSeriesCollection lineDataset=new TimeSeriesCollection();
//构造数据集合
Day day=new Day();
timeSeries.add(new Hour(1,day),95);
timeSeries.add(new Hour(2,day),0);
timeSeries.add(new Hour(3,day),95);
timeSeries.add(new Hour(4,day),0);
timeSeries.add(new Hour(5,day),95);
timeSeries.add(new Hour(6,day),0);
timeSeries.add(new Hour(7,day),95);
timeSeries.add(new Hour(8,day),95);
timeSeries.add(new Hour(9,day),95);
timeSeries.add(new Hour(10,day),0);
timeSeries.add(new Hour(11,day),95);
timeSeries.add(new Hour(12,day),95);
timeSeries.add(new Hour(13,day),95);
timeSeries.add(new Hour(14,day),0);
timeSeries.add(new Hour(15,day),95);
timeSeries.add(new Hour(16,day),95);
timeSeries.add(new Hour(17,day),95);
timeSeries.add(new Hour(18,day),0);
timeSeries.add(new Hour(19,day),95);
timeSeries.add(new Hour(20,day),95);
timeSeries.add(new Hour(21,day),0);
timeSeries.add(new Hour(22,day),95);
timeSeries.add(new Hour(23,day),0);
timeSeries.add(new Hour(0,day),95);
lineDataset.addSeries(timeSeries);
JFreeChart chart=ChartFactory.createTimeSeriesChart("CPU负载使用率","小时","",lineDataset,true,false,false);
//获得时序图显示区引用
XYPlot plot=(XYPlot)chart.getPlot();
DateAxis axis=(DateAxis)plot.getDomainAxis();
SimpleDateFormat sdf1=new SimpleDateFormat("k");
axis.setDateFormatOverride(sdf1);
//设置网格背景颜色
plot.setBackgroundPaint(Color.white);
//设置网格竖线颜色
plot.setDomainGridlinePaint(Color.pink);
//设置曲线图xy轴的距离
plot.setAxisOffset(new RectangleInsets(1D,1D,1D,1D));
//设置主标题
chart.setTitle(new TextTitle("CPU 24小时负载情况统计(图)"));
String fileName = ServletUtilities.saveChartAsPNG(chart, 500, 200,
null, session);
String graphURL = request.getContextPath() + "/DisplayChart?filename=" + fileName;
[code="java"]
//获取横坐标
CategoryAxis domainAxis = categoryPlot.getDomainAxis();
//将横坐标间距设置为1
domainAxis.setTickUnit(new NumberTickUnit(1));
[/code]
[code="java"]
NumberAxis numAxis = (NumberAxis) plot.getRangeAxis();
NumberFormat numFormater = NumberFormat.getNumberInstance();
DecimalFormat decimalFormat = new DecimalFormat("0.00");//设置格式
numAxis.setTickUnit(new NumberTickUnit(0.5));//设置轴间隔
[/code]
那估计实现不了了吧。太小数据太密集。我这边是12个月份倒是可以,。
我数据集用的这个跟你的不一样。不知道是不是这个原因
[code="java"]
// 建立dataset
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
// 以下可以动态添加数据
for (int i = 1; i < 13; i++) {
dataset.addValue(i, "所有收入", i + "月");
}
[/code]