JFreeChart 是一个开源的 Java 图表库,用于创建各种类型的图表,包括堆叠条形图(Stacked Bar Chart)。堆叠条形图是一种条形图,其中每个条形被分为多个段,每个段代表不同的类别或数据系列。
堆叠条形图是 JFreeChart 支持的一种图表类型,适用于展示多个类别数据在不同系列中的分布情况。
堆叠条形图常用于以下场景:
要删除堆叠条形图中的网格线,可以通过设置图表的渲染器(Renderer)来实现。以下是一个示例代码:
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.renderer.category.StackedBarRenderer;
import org.jfree.data.category.DefaultCategoryDataset;
import javax.swing.JFrame;
public class StackedBarChartExample {
public static void main(String[] args) {
// 创建数据集
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(1.0, "Series1", "Category1");
dataset.addValue(2.0, "Series2", "Category1");
dataset.addValue(3.0, "Series1", "Category2");
dataset.addValue(4.0, "Series2", "Category2");
// 创建堆叠条形图
JFreeChart chart = ChartFactory.createStackedBarChart(
"Stacked Bar Chart Example", // 图表标题
"Category", // X 轴标签
"Value", // Y 轴标签
dataset // 数据集
);
// 获取图表的 CategoryPlot
CategoryPlot plot = chart.getCategoryPlot();
// 创建堆叠条形图渲染器
StackedBarRenderer renderer = new StackedBarRenderer();
// 设置网格线不可见
renderer.setDrawBarOutline(false);
plot.setRenderer(renderer);
// 创建并显示图表窗口
JFrame frame = new JFrame("Stacked Bar Chart");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new ChartPanel(chart));
frame.pack();
frame.setVisible(true);
}
}
DefaultCategoryDataset
创建数据集,并添加数据。ChartFactory.createStackedBarChart
方法创建堆叠条形图。chart.getCategoryPlot()
获取图表的 CategoryPlot
对象。StackedBarRenderer
创建渲染器。renderer.setDrawBarOutline(false)
设置网格线不可见。CategoryPlot
中。通过以上步骤,你可以成功删除堆叠条形图中的网格线。
领取专属 10元无门槛券
手把手带您无忧上云