日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用Jfree实现条形柱状图表,java代码实现

發布時間:2023/12/10 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用Jfree实现条形柱状图表,java代码实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用Jfree實現條形柱狀圖表,java代碼實現。可經經常使用于報表的制作,代碼自己主動生成后能夠自由查看。能夠自由配置圖表的各個屬性,用來達到自己的要求和目的package test1;import org.jfree.chart.*; import org.jfree.chart.plot.*; import org.jfree.chart.labels.*; import org.jfree.data.category.*;import java.awt.*; import java.io.FileOutputStream; import java.io.IOException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;import org.jfree.ui.*; import org.jfree.chart.renderer.category.BarRenderer; import org.jfree.chart.renderer.category.BarRenderer3D; import org.jfree.chart.servlet.*; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.general.DatasetUtilities;import com.dao.DBConnection;public class JfreeChart {public static void main(String[] args) throws IOException, SQLException {// TODO Auto-generated method stubdouble[][] data = new double[][] {{ 1230, 1110, 1120, 1210, 720, 750, 860, 800, 1230, 1110, 1120,1210, 720, 750, 860, 800, 1230, 1110, 1120, 1210, 720,750, 860, 800 },{ 720, 750, 860, 800, 1230, 1110, 1120, 1210, 720, 750, 860,800, 720, 750, 860, 800, 1230, 1110, 1120, 1210, 720,750, 860, 800 } };String[] rowKeys = { "a", "b" };String[] columnKeys = { "0", "1", "2", "3", "4", "5", "6", "7", "8","9", "10", "11", "12", "13", "14", "15", "16", "17", "18","19", "20", "21", "22", "23" };CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data);JFreeChart chart = ChartFactory.createBarChart(getNextDay() + "日交易量","時間(/h)", "交易量", dataset, PlotOrientation.VERTICAL, true, true,false);CategoryPlot plot = chart.getCategoryPlot();// 設置網格背景顏色plot.setBackgroundPaint(Color.white);// 設置網格豎線顏色plot.setDomainGridlinePaint(Color.pink);// 設置網格橫線顏色plot.setRangeGridlinePaint(Color.pink);// 顯示每一個柱的數值,并改動該數值的字體屬性BarRenderer renderer = new BarRenderer();// renderer.setBaseItemLabelGenerator(new// StandardCategoryItemLabelGenerator());// renderer.setBaseItemLabelsVisible(true);// 默認的數字顯示在柱子中,通過例如以下兩句可調整數字的顯示// 注意:此句非常關鍵,若無此句,那數字的顯示會被覆蓋,給人數字沒有顯示出來的問題// renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(// ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));// renderer.setItemLabelAnchorOffset(10D);// 設置每一個地區所包括的平行柱的之間距離renderer.setItemMargin(0.05);plot.setRenderer(renderer);// 設置地區、銷量的顯示位置// 將下方的“標注”放到上方// plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);// 將默認放在左邊的“銷量”放到右方// plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);drawToOutputStream("src//a.jpg", chart);}/*** step3: 輸出圖表到指定的磁盤* * @param destPath* @param chart*/public static void drawToOutputStream(String destPath, JFreeChart chart) {FileOutputStream fos = null;try {fos = new FileOutputStream(destPath);// ChartUtilities.writeChartAsJPEG(ChartUtilities.writeChartAsPNG(fos, // 指定目標輸出流chart, // 圖表對象1000, // 寬500, // 高null); // ChartRenderingInfo信息} catch (IOException e) {e.printStackTrace();} finally {try {fos.close();} catch (IOException e) {e.printStackTrace();}}}public static String getNextDay() {Calendar calendar = Calendar.getInstance();calendar.add(Calendar.DATE, -1); // 得到前一天Date date = calendar.getTime();DateFormat df = new SimpleDateFormat("yyyy-MM-dd");// System.out.println(df.format(date));return df.format(date);} }

顯示生成結果:


總結

以上是生活随笔為你收集整理的用Jfree实现条形柱状图表,java代码实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。