本文實例講述了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);}// 生成圖表主對象JFreeChartpublic 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程序設計有所幫助。
新聞熱點
疑難解答