📅  最后修改于: 2023-12-03 15:02:07.952000             🧑  作者: Mango
JFreeChart是一个免费的Java图表库,可以用于创建各种类型的图表,包括条形图,折线图和饼图等。其中,3D饼图和条形图是比较常见的图表类型。
3D饼图是一种常用的数据可视化方式,可以清晰地显示数据的占比情况。使用JFreeChart创建3D饼图非常简单,只需要几行代码即可生成一个漂亮的图表。
以下是一个生成3D饼图的Java代码片段:
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("Java", 28.5);
dataset.setValue("C", 22.5);
dataset.setValue("Python", 17.5);
dataset.setValue("Ruby", 12.5);
dataset.setValue("JavaScript", 9.5);
dataset.setValue("Other", 9.5);
JFreeChart chart = ChartFactory.createPieChart3D(
"Programming Languages", // 图表标题
dataset, // 数据集
true, // 是否显示图例
true, // 是否生成工具提示
false // 是否生成URL链接
);
ChartFrame frame = new ChartFrame("Pie Chart", chart);
frame.pack();
frame.setVisible(true);
以上代码使用了一个名为DefaultPieDataset的类来存储数据,每个数据项都有一个名称和一个数值。调用ChartFactory.createPieChart3D()方法生成图表,并用ChartFrame来显示图表。
条形图是一种常用的数据可视化方式,可以直观地比较不同数据之间的差异。在JFreeChart中,创建条形图也非常简单。
以下是一个生成条形图的Java代码片段:
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(1.0, "S1", "Jan");
dataset.addValue(4.0, "S1", "Feb");
dataset.addValue(3.0, "S1", "Mar");
dataset.addValue(5.0, "S1", "Apr");
dataset.addValue(2.0, "S2", "Jan");
dataset.addValue(3.0, "S2", "Feb");
dataset.addValue(2.0, "S2", "Mar");
dataset.addValue(6.0, "S2", "Apr");
JFreeChart chart = ChartFactory.createBarChart3D(
"Sales Chart", // 图表标题
"Month", // x轴标签
"Sales", // y轴标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 条形图方向
true, // 是否显示图例
true, // 是否生成工具提示
false // 是否生成URL链接
);
ChartFrame frame = new ChartFrame("Bar Chart", chart);
frame.pack();
frame.setVisible(true);
以上代码使用了一个名为DefaultCategoryDataset的类来存储数据,每个数据项都有一个行名称、列名称和数值。调用ChartFactory.createBarChart3D()方法生成条形图,并用ChartFrame来显示图表。
以上是JFreeChart中生成3D饼图和条形图的简单介绍,更多详细信息可以参考JFreeChart官方文档。