jfreechart生成柱状图
时间: 2023-07-25 17:31:58 浏览: 143
JFreeChart动态加载柱状图
要使用JFreeChart生成柱状图,需要进行以下步骤:
1. 创建一个数据集对象,用于存储需要绘制的数据
2. 创建一个图表对象,并设置标题、x轴和y轴标签
3. 创建一个柱状图渲染器对象,设置颜色、边框等属性
4. 将数据集对象和渲染器对象关联到图表对象中
5. 将图表对象绘制到Swing组件中,如JPanel或JFrame中
下面是一个示例代码,可以生成一个简单的柱状图:
```java
import java.awt.Color;
import java.awt.Dimension;
import java.util.Random;
import javax.swing.JFrame;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.data.category.DefaultCategoryDataset;
public class BarChartExample {
public static void main(String[] args) {
// 生成随机数据
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
Random random = new Random();
for (int i = 0; i < 5; i++) {
dataset.addValue(random.nextInt(100), "Series 1", "Category " + i);
}
// 创建柱状图对象
JFreeChart chart = ChartFactory.createBarChart(
"Bar Chart Example", // 图表标题
"Category", // x轴标签
"Value", // y轴标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向
true, // 是否显示图例
true, // 是否生成工具提示
false // 是否生成URL链接
);
// 设置柱状图渲染器
CategoryPlot plot = (CategoryPlot) chart.getPlot();
BarRenderer renderer = (BarRenderer) plot.getRenderer();
renderer.setSeriesPaint(0, Color.BLUE);
renderer.setDrawBarOutline(false);
// 设置x轴标签位置
CategoryAxis xAxis = plot.getDomainAxis();
xAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
// 设置y轴范围
NumberAxis yAxis = (NumberAxis) plot.getRangeAxis();
yAxis.setRange(0, 100);
// 将图表绘制到Swing组件中
JPanel panel = new ChartPanel(chart);
panel.setPreferredSize(new Dimension(500, 300));
JFrame frame = new JFrame("Bar Chart Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
}
}
```
运行以上代码,即可看到生成的柱状图。
阅读全文