java读取数据并绘制统计图
时间: 2024-02-15 22:56:53 浏览: 172
java实现各种数据统计图
如果你想在Java中读取数据并绘制统计图,你可以使用以下步骤:
1. 读取数据:使用Java中的文件读取器或数据库连接器来读取数据。你需要将数据存储在一个数组或集合中。
2. 统计数据:对数据进行统计分析,例如计算平均值、中位数、众数等。
3. 绘制统计图:使用Java图形库(例如JFreeChart)来绘制统计图。你需要选择适当的图表类型,例如柱状图、折线图、饼图等,并提供必要的数据、标签和标题。
下面是一个简单的示例程序,演示如何读取数据并绘制柱状图:
```java
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
public class StatisticsDemo {
public static void main(String[] args) {
// 读取数据
ArrayList<Integer> data = new ArrayList<Integer>();
try {
Scanner scanner = new Scanner(new File("data.txt"));
while (scanner.hasNextInt()) {
data.add(scanner.nextInt());
}
scanner.close();
} catch (IOException e) {
e.printStackTrace();
}
// 统计数据
int sum = 0;
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
for (int i = 0; i < data.size(); i++) {
sum += data.get(i);
if (data.get(i) > max) {
max = data.get(i);
}
if (data.get(i) < min) {
min = data.get(i);
}
}
double average = (double) sum / data.size();
// 绘制柱状图
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
for (int i = 0; i < data.size(); i++) {
dataset.addValue(data.get(i), "Data", String.valueOf(i+1));
}
JFreeChart chart = ChartFactory.createBarChart(
"Data Distribution",
"Index",
"Value",
dataset,
PlotOrientation.VERTICAL,
true,
true,
false
);
try {
ChartUtilities.saveChartAsPNG(new File("chart.png"), chart, 500, 300);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个示例程序中,我们从名为“data.txt”的文件中读取数据,并计算其总和、平均值、最大值和最小值。然后,我们使用JFreeChart库绘制一个柱状图,该图显示了每个数据点的值。最后,我们将图表保存为PNG图像文件“chart.png”。
注意:在运行此程序之前,你需要将JFreeChart库添加到你的Java项目中。你可以从JFreeChart官方网站下载最新版本的JFreeChart库。
阅读全文