JFreeChart插件实现的折线图效果实例
程序员文章站
2024-03-13 14:16:21
本文实例讲述了jfreechart插件实现的折线图效果。分享给大家供大家参考,具体如下:
package com.lei.jfreechart;
import...
本文实例讲述了jfreechart插件实现的折线图效果。分享给大家供大家参考,具体如下:
package com.lei.jfreechart; import javax.swing.jpanel; import org.jfree.chart.chartfactory; import org.jfree.chart.chartpanel; import org.jfree.chart.jfreechart; import org.jfree.chart.axis.numberaxis; import org.jfree.chart.plot.categoryplot; import org.jfree.chart.plot.plotorientation; import org.jfree.data.category.defaultcategorydataset; import org.jfree.ui.applicationframe; import org.jfree.ui.refineryutilities; public class linecharts extends applicationframe { /** * */ private static final long serialversionuid = 1l; public linecharts(string s) { super(s); setcontentpane(createdemoline()); } public static void main(string[] args) { linecharts fjc = new linecharts("折线图"); fjc.pack(); refineryutilities.centerframeonscreen(fjc); fjc.setvisible(true); } // 生成显示图表的面板 public static jpanel createdemoline() { jfreechart jfreechart = createchart(createdataset()); return new chartpanel(jfreechart); } // 生成图表主对象jfreechart public static jfreechart createchart(defaultcategorydataset linedataset) { // 定义图表对象 jfreechart chart = chartfactory.createlinechart("一季度销售曲线", //折线图名称 "时间", // 横坐标名称 "销售额(百万)", // 纵坐标名称 linedataset, // 数据 plotorientation.vertical, // 水平显示图像 true, // include legend true, // tooltips false // urls ); categoryplot plot = chart.getcategoryplot(); plot.setrangegridlinesvisible(true); //是否显示格子线 plot.setbackgroundalpha(0.3f); //设置背景透明度 numberaxis rangeaxis = (numberaxis)plot.getrangeaxis(); rangeaxis.setstandardtickunits(numberaxis.createintegertickunits()); rangeaxis.setautorangeincludeszero(true); rangeaxis.setuppermargin(0.20); rangeaxis.setlabelangle(math.pi / 2.0); return chart; } // 生成数据 public static defaultcategorydataset createdataset() { defaultcategorydataset linedataset = new defaultcategorydataset(); // 各曲线名称 string series1 = "冰箱"; string series2 = "彩电"; string series3 = "洗衣机"; // 横轴名称(列名称) string type1 = "1月"; string type2 = "2月"; string type3 = "3月"; linedataset.addvalue(0.0, series1, type1); linedataset.addvalue(4.2, series1, type2); linedataset.addvalue(3.9, series1, type3); linedataset.addvalue(1.0, series2, type1); linedataset.addvalue(5.2, series2, type2); linedataset.addvalue(7.9, series2, type3); linedataset.addvalue(2.0, series3, type1); linedataset.addvalue(9.2, series3, type2); linedataset.addvalue(8.9, series3, type3); return linedataset; } }
运行效果如下:
更多java相关内容感兴趣的读者可查看本站专题:《java数据结构与算法教程》、《java操作dom节点技巧总结》、《java文件与目录操作技巧汇总》和《java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。