JFreeChart1.0.18.jar jcommon-1.0.22.jar
下載連接 html
類層次架構數據庫
類層次架構解釋瞭如何把不一樣階層的相互庫交互,以建立不一樣類型的圖表。api
- 單元 - 描述 - 文件 - 所用的用戶輸入爲源,用於建立該文件中的數據集。 - 數據庫 - 所用的用戶輸入爲源,用於建立在數據庫中的數據集。 - 建立數據集 - 接受數據集中存儲和數據集中到數據集對象。
- 通用數據集 - 這種類型的數據集主要用於餅圖。 - 分類數據集 - 這種類型的數據集,用於柱狀圖,折線圖等等。 - 系列數據集 - 這種類型的數據集被用於存儲一系列數據和構建線圖表。 - 系列採集數據集 - 不一樣類別的一系列數據集添加系列集合數據集。這種類型的數據集,用於xy折線圖表。 - 建立圖表 - 這是被執行以建立最終的圖表的方法。 - 幀、圖片 - 該圖顯示在一個Swing框架或建立映像。 應用層框架架構
ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme()); DefaultPieDataset data = new DefaultPieDataset(); // 餅狀圖分割數據 data.setValue("使用率", 40); data.setValue("未使用率", 60); JFreeChart chart = ChartFactory.createPieChart( title, //標題 data, //數據 true, //是否生成圖例 true, //是否生成工具 false); //是否生成連接 // 圖例標題 LegendTitle lt = chart.getLegend(); // 字體設定 Font font = new Font(FONT_MSGOTHIC, Font.PLAIN, 13); lt.setItemFont(font); // 標題的外邊框設定 chart.setBorderVisible(false); // 背景色設定 chart.setBackgroundPaint(Color.WHITE); if ( title != null ) { chart.getTitle().setFont( new Font( FONT_MSGOTHIC, Font.PLAIN, 14 ) ); } PiePlot plot = (PiePlot) chart.getPlot(); plot.setBackgroundPaint(Color.WHITE); plot.setInteriorGap(0.03); // 標題的內框設定 plot.setOutlineVisible(false); // 每一個圖例的顏色設定 plot.setSectionPaint(data.getKey(0), new Color(255, 201, 14)); plot.setSectionPaint(data.getKey(1), new Color(144, 160, 255)); plot.setLabelLinksVisible(false); plot.setSimpleLabels(true); plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{2}")); plot.setLabelPaint(Color.BLACK); plot.setLabelBackgroundPaint(null); plot.setLabelOutlineStroke(null); plot.setShadowGenerator(new DefaultShadowGenerator(1, Color.WHITE, 1f, 0, 0d)); plot.setShadowPaint(null); // 圖例位置 邊框設定 LegendTitle legend = chart.getLegend(); legend.setPosition(RectangleEdge.RIGHT); legend.setBorder(0, 0, 0, 0); // 輸出方式1:PNG文件 ChartUtilities.saveChartAsPNG(imgFile, chart, width, height); // 輸出方式2:流,經過response傳送到jsp頁面 response.setContentType("image/png"); ChartUtilities.writeChartAsPNG(response.getOutputStream(), chart, 210, 80); response.getOutputStream().flush();
ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme()); DefaultCategoryDataset data = new DefaultCategoryDataset(); data.addValue( value1, //柱狀圖的數值 str1, //某一個分類的柱狀圖名字 str2 //某一分類名字 ); JFreeChart chart = ChartFactory.createBarChart( title, //柱狀圖標題 null, //橫軸標題 null, //縱軸標題 data, //數據 PlotOrientation.HORIZONTAL, //圖表方向:橫向 false, //是否生成圖例 true, //是否生成工具 false //是否生成連接 ); // 標題外邊框線是否顯示 chart.setBorderVisible(false); // 圖表的背景色 chart.setBackgroundPaint(Color.WHITE); if ( title != null ) { chart.getTitle().setFont( new Font( FONT_MSGOTHIC, Font.PLAIN, 14 ) ); } //獲取繪圖區對象 CategoryPlot plot = chart.getCategoryPlot(); plot.setBackgroundPaint(Color.WHITE); plot.setInteriorGap(0.03); plot.setOutlineVisible(false); //>>> 內邊線設定 plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT); //>>> 軸的位置設定 // 橫軸相關設定 CategoryAxis cAxis = plot.getDomainAxis(); cAxis.setTickLabelFont(new Font(FONT_MSGOTHIC, Font.PLAIN, 10)); // 縱軸相關設定 ValueAxis vAxis = plot.getRangeAxis(); vAxis.setTickLabelFont(new Font(FONT_MSGOTHIC, Font.PLAIN, 11)); // bar的設定 BarRenderer renderer = (BarRenderer) plot.getRenderer(); renderer.setDrawBarOutline(false); renderer.setShadowVisible(false); renderer.setItemMargin(0); //>>> Category間的分割距離 // 柱的寬度(ItemMargin優先) double barWidth = 0.08; switch (size) { case 1: barWidth = 0.45; break; case 2: barWidth = 0.25; break; } renderer.setMaximumBarWidth(barWidth); // 每一個柱子的顏色設定 renderer.setSeriesPaint(0, new Color(255, 201, 14)); renderer.setSeriesPaint(1, new Color(255, 174, 201)); // 橫軸的設定 CategoryAxis domAxis = plot.getDomainAxis(); domAxis.setLowerMargin(0.04); domAxis.setUpperMargin(0.04); // 間隔設定 domAxis.setCategoryMargin(0.08); // 文字的角度 domAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0)); // label最大行數 if (strgData.size() < 4) domAxis.setMaximumCategoryLabelLines(2); else domAxis.setMaximumCategoryLabelLines(1); domAxis.setMaximumCategoryLabelWidthRatio(0.4f); // 縱軸設定 NumberAxis valueAxis = (NumberAxis)plot.getRangeAxis(); valueAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); //>>> 固定整數 valueAxis.setAutoRange(false); //>>> 值軸的範圍 valueAxis.setRange(0, 100); // 輸出方式1:PNG文件 ChartUtilities.saveChartAsPNG(imgFile, chart, width, height); // 輸出方式2:流,經過response傳送到jsp頁面 response.setContentType("image/png"); ChartUtilities.writeChartAsPNG(response.getOutputStream(), chart, 210, 80); response.getOutputStream().flush();
ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme()); DefaultCategoryDataset data = new DefaultCategoryDataset(); data.addValue( value1, //值域的數值 str1, //某一折線的名字 str2 //範圍域的值 ); JFreeChart chart = ChartFactory.createLineChart( title, //折線圖標題 null, //橫軸標題 null, //縱軸標題 data, //數據 PlotOrientation.HORIZONTAL, //圖表方向:橫向 false, //是否生成圖例 true, //是否生成工具 false //是否生成連接 ); // 標題外邊框 chart.setBorderVisible(false); // 背景色設定 chart.setBackgroundPaint(Color.WHITE); if ( title != null ) { chart.getTitle().setFont( new Font( FONT_MSGOTHIC, Font.PLAIN, 14 ) ); } //獲取繪圖區域 CategoryPlot plot = chart.getCategoryPlot(); plot.setBackgroundPaint(Color.WHITE); plot.setOutlineVisible(false); //>>> 標題內邊線設定 plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT); //>>> 軸的位置設定 // 橫軸設定 CategoryAxis cAxis = plot.getDomainAxis(); cAxis.setTickLabelFont(new Font(FONT_MSGOTHIC, Font.PLAIN, 10)); //字體設定 // 縱軸設定 ValueAxis vAxis = plot.getRangeAxis(); vAxis.setTickLabelFont(new Font(FONT_MSGOTHIC, Font.PLAIN, 11)); //字體設定 // 橫軸設定 CategoryAxis domAxis = plot.getDomainAxis(); domAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0)); // label文字角度 // 輸出方式1:PNG文件 ChartUtilities.saveChartAsPNG(imgFile, chart, width, height); // 輸出方式2:流,經過response傳送到jsp頁面 response.setContentType("image/png"); ChartUtilities.writeChartAsPNG(response.getOutputStream(), chart, 210, 80); response.getOutputStream().flush();