Java實(shí)現統計圖表
在Javaヾ(′▽?zhuān)??中,生成我們可以使用多種方式來(lái)實(shí)現統計圖表,統計圖表其中最常用的生成是使用Java的圖形庫和(′ω`)第三方庫來(lái)創(chuàng )建圖表,下面將介紹幾種常用的統計圖表方法來(lái)實(shí)現統計圖表。
1、生成使用Java的統計圖表(biao)Swing庫
Java Swing庫提供了豐富的組件和工具,可以用于創(chuàng )建各種類(lèi)型的生成圖形界面,我(wo)們可以使用Swing庫中的統計圖表JF??reeChart組件來(lái)創(chuàng )建統計圖表,JFreeChart是生成一個(gè)開(kāi)源的Java圖表庫,它提供了豐富的統計圖表圖(tu)表類(lèi)型和靈活的配置選項。
我們需要下載并導入JFreeChart庫到我們的生成項目中,我們可以創(chuàng )建一個(gè)繼承自JPan??el的統計圖表自定義面板類(lèi),并在該類(lèi)中使用JFre┐(′д`)┌eChart來(lái)繪制統計圖表(biao)。生成
以下是一個(gè)簡(jiǎn)單的示例代碼,演示如何使用JFreeChart來(lái)創(chuàng )建柱狀圖:
import org.jfree.chart.ChartFactory;import org.jfree.chart.ChartPanel;import??? org.jfree.chart.JFreeChart;import org.jfree.dat??a.category.DefaultCategoryDataset;import javax.swing.*;import java.awt.*;public class BarChartExample extends JPanel { private DefaultCategoryDataset dataset; private JFree??Chart chart; public BarChartExample() { dataset = new DefaultCategoryDataset(); chart = createChart(dataset); } private JFreeChart createChart(DefaultCategor??yDataset dat??aset) { return ChartFactory.c??reateBarChart( "統計圖表", // 圖表標題 "分類(lèi)",?? // x軸標簽 "數量"??, // y軸?標簽 dataset, // 數據集 PlotOrientation.VERTICA??L, // 圖表方向 true, // 是否顯示圖例 true, // 是否顯示工具提示 false // 是否生成URL鏈接 ); } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); int width = getWidth(); int height = getHeight(); int barWidth = width / dataset.getColumnCount(); for (int i = 0; i < dataset.getColumnCount(); i++) { int x = i * barWidth; int y = height dataset.getVa??lue(i).intVa(′_ゝ`)lue(); g.fillRect(x, y, barWid??th(′Д` ) 2, dataset.getValue(i).intValue()); } }}在上面的代碼中,我們首先??創(chuàng )建了一(′▽?zhuān)?個(gè)DefaultCategoryData??set對象來(lái)存儲數據,我們調用createChart方法來(lái)創(chuàng )建一個(gè)柱狀圖,ヽ(′▽?zhuān)?ノ并將其(′?ω?`)返回值賦值給chart變量,我們在paint(′?`*)Component方法中繪制??柱狀圖,通過(guò)調整barWidth變量的值,我們可以控制柱狀圖的寬度。
2、使用JavaFX庫
JavaFX是Java的(de)一個(gè)現代化圖形用戶(hù)界面(GUI)框架,它提供了豐富的組件和動(dòng)畫(huà)效果,我們可以使用JavaFX庫中的Chart類(lèi)來(lái)創(chuàng )建統計圖表,JavaFX的Chart?類(lèi)支持多種類(lèi)型的圖表,包括柱狀圖、折線(xiàn)圖、餅圖等。
以下是一個(gè)使用JavaFX創(chuàng )建柱狀圖的示例代碼:
import javafx.applicati(′▽?zhuān)?on.┐(′д`)┌Application;import javafx.scene.Scene;import javafx.scene.chart.BarChart;import javafx.scene??.chart.CategoryAxis;imp??ort javafx???.scen???e.chart.NumberAxis;impor(╯°□°)╯︵ ┻━┻t javafx.stage.St??age;public class BarChartExample extends Appli(′_`)cation { @Override public void start(Stage stage) { stage.setTitle("統計圖表&( ?ヮ?)quot;); // 設置窗口標題 final NumberAxis xAxis = new NumberAxi??s(); // x軸坐標軸 final NumberAxis yAxis = new NumberAxis(); // y軸坐標軸 final BarChart<String, Number> barChart = new BarChart<>(xAxis, yAxis); // 創(chuàng )建柱狀圖對象 barChart.setTitle("統計圖表&quo┐(′ー`)┌t;); // 設置圖表標題 bar┐(′д`)┌Chart.setLegendVisible(fals??e); // 隱藏圖例 barChart.setDat(′ω`)a(createData()); // 設置數據源 Scene scene = new Scene(barChart, 800, 600); // 創(chuàng )建場(chǎng)景并設??置大小和布局管理器為null,以便自由調整(zheng)圖表大小和位置 stage.setScene(scene); // 將場(chǎng)??景添加到窗口中顯示出來(lái) stage.show(); // 顯示窗口和圖表 } priv??ate XYC??hart.Series<String, Number> createData() { // 創(chuàng )建數據序列對象的方法,返回一個(gè)XYSeries對象作為數據源傳遞給BarChart對象進(jìn)行ヽ(′▽?zhuān)?ノ渲染展示。

網(wǎng)站二維碼
導航
電話(huà)
短信
咨詢(xún)
地圖
分享