Java实现统计图表

微山网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司从2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
在Java中,我们可以使用多种方式来实现统计图表,其中最常用的是使用Java的图形库和第三方库来创建图表,下面将介绍几种常用的方法来实现统计图表。
1、使用Java的Swing库
Java Swing库提供了丰富的组件和工具,可以用于创建各种类型的图形界面,我们可以使用Swing库中的JFreeChart组件来创建统计图表,JFreeChart是一个开源的Java图表库,它提供了丰富的图表类型和灵活的配置选项。
我们需要下载并导入JFreeChart库到我们的项目中,我们可以创建一个继承自JPanel的自定义面板类,并在该类中使用JFreeChart来绘制统计图表。
以下是一个简单的示例代码,演示如何使用JFreeChart来创建柱状图:
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(
"统计图表", // 图表标题
"分类", // x轴标签
"数量", // y轴标签
dataset, // 数据集
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());
}
}
}
在上面的代码中,我们首先创建了一个DefaultCategoryDataset对象来存储数据,我们调用createChart方法来创建一个柱状图,并将其返回值赋值给chart变量,我们在paintComponent方法中绘制柱状图,通过调整barWidth变量的值,我们可以控制柱状图的宽度。
2、使用JavaFX库
JavaFX是Java的一个现代化图形用户界面(GUI)框架,它提供了丰富的组件和动画效果,我们可以使用JavaFX库中的Chart类来创建统计图表,JavaFX的Chart类支持多种类型的图表,包括柱状图、折线图、饼图等。
以下是一个使用JavaFX创建柱状图的示例代码:
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("统计图表"); // 设置窗口标题
final NumberAxis xAxis = new NumberAxis(); // x轴坐标轴
final NumberAxis yAxis = new NumberAxis(); // y轴坐标轴
final BarChart barChart = new BarChart<>(xAxis, yAxis); // 创建柱状图对象
barChart.setTitle("统计图表"); // 设置图表标题
barChart.setLegendVisible(false); // 隐藏图例
barChart.setData(createData()); // 设置数据源
Scene scene = new Scene(barChart, 800, 600); // 创建场景并设置大小和布局管理器为null,以便自由调整图表大小和位置
stage.setScene(scene); // 将场景添加到窗口中显示出来
stage.show(); // 显示窗口和图表
}
private XYChart.Series createData() { // 创建数据序列对象的方法,返回一个XYSeries对象作为数据源传递给BarChart对象进行渲染展示。
网站题目:java生成统计图表
分享地址:http://www.jxjierui.cn/article/dpohgjd.html


咨询
建站咨询
