java利用jfreechart怎么成立时序统计图呢?我和大师分享一下怎么成立时序图,我写的经验对你进修java有帮忙的话,给我投票、点赞或者保藏!
eclipse新建一个java项目,名称为javachart。
在项目中增添freechart文件。
在项目中新建一个本家儿类。
package javachart;
public class javachart {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
在main中新建一个窗口,显示统计图。
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame jf=new JFrame();
jf.setSize(600,500);
jf.setLocationRelativeTo(null);
jf.setVisible(true);
}
在类中界说时序的数据,返回XYDataset类型的函数:
public static XYDataset shuju(){
TimeSeries ts=new TimeSeries("数据");
Day day = new Day(1, 1, 2018);
double d = 100D;
for (int i = 0; i < 365; i++) {
d = d + (Math.random() - 0.5) ;
ts.add(day, d);
day = (Day) day.next();
}
TimeSeriesCollection tc =new TimeSeriesCollection(ts);
return tc;
}
生当作2018时序统计图:
public static JFreeChart tongjitu(){
StandardChartTheme standardChartTheme = new StandardChartTheme("CN");
standardChartTheme.setExtraLargeFont(new Font("宋书", Font.BOLD, 25));
standardChartTheme.setRegularFont(new Font("宋书", Font.PLAIN, 15));
standardChartTheme.setLargeFont(new Font("宋书", Font.PLAIN, 15));
ChartFactory.setChartTheme(standardChartTheme);
JFreeChart chart = ChartFactory.createTimeSeriesChart("2018产物发卖统计图","月份","发卖金额(万)", shuju(),false, false,false);
XYPlot plot = chart.getXYPlot();
plot.setDomainGridlinesVisible(true);
DateAxis da = (DateAxis) plot.getDomainAxis();
DateFormat format = new SimpleDateFormat("MM");
DateTickUnit dt = new DateTickUnit(DateTickUnit.DAY,30,format);
da.setTickUnit(dt);
return chart;
}
在窗口中显示统计图:
jf.add(new ChartPanel(tongjitu()));
运行项目,下图为发卖时序统计图。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!