新聞中心
Java實(shí)現(xiàn)統(tǒng)計(jì)圖表

微山網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司從2013年開始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
在Java中,我們可以使用多種方式來實(shí)現(xiàn)統(tǒng)計(jì)圖表,其中最常用的是使用Java的圖形庫和第三方庫來創(chuàng)建圖表,下面將介紹幾種常用的方法來實(shí)現(xiàn)統(tǒng)計(jì)圖表。
1、使用Java的Swing庫
Java Swing庫提供了豐富的組件和工具,可以用于創(chuàng)建各種類型的圖形界面,我們可以使用Swing庫中的JFreeChart組件來創(chuàng)建統(tǒng)計(jì)圖表,JFreeChart是一個(gè)開源的Java圖表庫,它提供了豐富的圖表類型和靈活的配置選項(xiàng)。
我們需要下載并導(dǎo)入JFreeChart庫到我們的項(xiàng)目中,我們可以創(chuàng)建一個(gè)繼承自JPanel的自定義面板類,并在該類中使用JFreeChart來繪制統(tǒng)計(jì)圖表。
以下是一個(gè)簡單的示例代碼,演示如何使用JFreeChart來創(chuàng)建柱狀圖:
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.category.DefaultCategoryDataset;
import javax.swing.*;
import java.awt.*;
public class BarChartExample extends JPanel {
private DefaultCategoryDataset dataset;
private JFreeChart chart;
public BarChartExample() {
dataset = new DefaultCategoryDataset();
chart = createChart(dataset);
}
private JFreeChart createChart(DefaultCategoryDataset dataset) {
return ChartFactory.createBarChart(
"統(tǒng)計(jì)圖表", // 圖表標(biāo)題
"分類", // x軸標(biāo)簽
"數(shù)量", // y軸標(biāo)簽
dataset, // 數(shù)據(jù)集
PlotOrientation.VERTICAL, // 圖表方向
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.getValue(i).intValue();
g.fillRect(x, y, barWidth 2, dataset.getValue(i).intValue());
}
}
}
在上面的代碼中,我們首先創(chuàng)建了一個(gè)DefaultCategoryDataset對(duì)象來存儲(chǔ)數(shù)據(jù),我們調(diào)用createChart方法來創(chuàng)建一個(gè)柱狀圖,并將其返回值賦值給chart變量,我們?cè)趐aintComponent方法中繪制柱狀圖,通過調(diào)整barWidth變量的值,我們可以控制柱狀圖的寬度。
2、使用JavaFX庫
JavaFX是Java的一個(gè)現(xiàn)代化圖形用戶界面(GUI)框架,它提供了豐富的組件和動(dòng)畫效果,我們可以使用JavaFX庫中的Chart類來創(chuàng)建統(tǒng)計(jì)圖表,JavaFX的Chart類支持多種類型的圖表,包括柱狀圖、折線圖、餅圖等。
以下是一個(gè)使用JavaFX創(chuàng)建柱狀圖的示例代碼:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.chart.BarChart;
import javafx.scene.chart.CategoryAxis;
import javafx.scene.chart.NumberAxis;
import javafx.stage.Stage;
public class BarChartExample extends Application {
@Override
public void start(Stage stage) {
stage.setTitle("統(tǒng)計(jì)圖表"); // 設(shè)置窗口標(biāo)題
final NumberAxis xAxis = new NumberAxis(); // x軸坐標(biāo)軸
final NumberAxis yAxis = new NumberAxis(); // y軸坐標(biāo)軸
final BarChart barChart = new BarChart<>(xAxis, yAxis); // 創(chuàng)建柱狀圖對(duì)象
barChart.setTitle("統(tǒng)計(jì)圖表"); // 設(shè)置圖表標(biāo)題
barChart.setLegendVisible(false); // 隱藏圖例
barChart.setData(createData()); // 設(shè)置數(shù)據(jù)源
Scene scene = new Scene(barChart, 800, 600); // 創(chuàng)建場(chǎng)景并設(shè)置大小和布局管理器為null,以便自由調(diào)整圖表大小和位置
stage.setScene(scene); // 將場(chǎng)景添加到窗口中顯示出來
stage.show(); // 顯示窗口和圖表
}
private XYChart.Series createData() { // 創(chuàng)建數(shù)據(jù)序列對(duì)象的方法,返回一個(gè)XYSeries對(duì)象作為數(shù)據(jù)源傳遞給BarChart對(duì)象進(jìn)行渲染展示。
當(dāng)前標(biāo)題:java生成統(tǒng)計(jì)圖表
本文URL:http://www.dlmjj.cn/article/dpohgjd.html


咨詢
建站咨詢
