?? linechart.java
字號(hào):
package photo;
import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Iterator;
import java.util.List;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.time.Hour;
import org.jfree.data.time.Month;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.time.TimeSeriesDataItem;
public class LineChart {
public void createChart(OutputStream os, List lineValues, String title,
String subtitle, String xTitle, String yTitle, int width, int height)
throws IOException {
TimeSeriesCollection dataset = getTimeSeriesCollection(lineValues);
JFreeChart chart = ChartFactory.createTimeSeriesChart(title, xTitle,
yTitle, dataset, false, false, false);
TextTitle st = new TextTitle(subtitle, new Font("瀹嬩綋", Font.BOLD, 12));
chart.addSubtitle(st);
chart.setTitle(new TextTitle(title, new Font("闅朵功", Font.ITALIC, 15)));
// pie.setSeriesLabelFont(new Font("榛戜綋", Font.BOLD, 15));
chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000,
Color.blue));
ChartUtilities.writeChartAsJPEG(os, 1.0f, chart, width, height, null);
}
private TimeSeriesCollection getTimeSeriesCollection(List lineValues) {
Iterator iter = lineValues.iterator();
TimeSeriesCollection dataset = new TimeSeriesCollection();
while (iter.hasNext()) {
LineValue lv = (LineValue) iter.next();
TimeSeries ts = new TimeSeries(lv.getName(), Hour.class);
Iterator it = lv.getItems().iterator();
while (it.hasNext()) {
LineItem item = (LineItem) it.next();
Calendar calendar=Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, item.getHour());
calendar.set(Calendar.DAY_OF_MONTH, item.getDay());
calendar.set(Calendar.MONTH, item.getMonth());
calendar.set(Calendar.YEAR, item.getYear());
//TimeZone timeZone=TimeZone.getDefault();
//RegularTimePeriod period=RegularTimePeriod.createInstance(TimeZone.class, calendar.getTime(), timeZone);
//System.out.println(period);
// ts.add(new TimeSeriesDataItem(period,item.getValue()));
Hour current = new Hour(calendar.get(Calendar.HOUR_OF_DAY), calendar
.get(Calendar.DAY_OF_MONTH),
calendar.get(Calendar.MONTH) + 1, calendar.get(Calendar.YEAR));
ts.add(new TimeSeriesDataItem(current, item.getValue()));
}
dataset.addSeries(ts);
}
return dataset;
}
public static void main(String[] args) {
List list=new ArrayList();
LineValue lv=new LineValue();
lv.setName("鐢ㄥ弸");
for (int i = 1999; i < 2005; i++) {
for (int mon = 0; mon < 12; mon++) {
// ibm.add(new Month(mon+1,i),new Double(400-Math.random()*100));
lv.getItems().add(new LineItem( 1,1,mon+1,i,new Double(300 - Math.random() * 100)));
}
}
LineValue lv2=new LineValue();
lv2.setName("閲戠
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -