java - 条形图是相互连接的,但我需要它是分开的

标签 java jfreechart

一切似乎都工作正常,唯一的问题是应该生成的图表是一个彼此不连接的条形图,但是我最终得到的图表不是我想要的图表。

我关注了一个视频,代码似乎很相似,所以我无法弄清楚出了什么问题:

try {
    int rubyPoints = Integer.parseInt(getHP("Ruby"));
    int amberPoints = Integer.parseInt(getHP("Amber"));
    int pearlPoints = Integer.parseInt(getHP("Pearl"));
    int sapphirePoints = Integer.parseInt(getHP("Sapphire"));
    DefaultCategoryDataset barChartData = new DefaultCategoryDataset();
    barChartData.setValue(rubyPoints, "House Points", "Ruby");
    barChartData.setValue(amberPoints, "House Points", "Amber");
    barChartData.setValue(pearlPoints, "House Points", "Pearl");
    barChartData.setValue(sapphirePoints, "House Points", "Sapphire");
    JFreeChart barChart = ChartFactory.createAreaChart("House Points",
        "All houses", "Amount of points", barChartData, PlotOrientation.VERTICAL, false, true, false);

    CategoryPlot barchrt = barChart.getCategoryPlot();
    barchrt.setRangeGridlinePaint(Color.BLUE);
    ChartPanel barPanel = new ChartPanel(barChart);
    panelChart.removeAll();
    panelChart.add(barPanel, BorderLayout.CENTER);
    panelChart.validate();
} catch (IOException ioe) {
    // error handling
}

图表如下所示(这不是我需要的样子):

enter image description here

最佳答案

这非常简单:您创建的图表不是 barChart,而是 areaChart

为了获得您想要的结果,只需将实例化图表的行更改为:

JFreeChart barChart = ChartFactory.createBarChart("House Points", 
    "All houses", "Amount of points", barChartData, PlotOrientation.VERTICAL, false, true, false);

你会得到类似的东西:

enter image description here

关于java - 条形图是相互连接的,但我需要它是分开的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41031779/

相关文章:

java - 条码使用Java head less模式配置

java - ora-12519,找不到合适的服务处理程序

java - Apache Felix DOSGI 单一包和 Zookeeper

java - 从 MySql 创建时间图表

java - 在 jFreechart 中设置项目形状大小

java - JFreeChart:带有 StandardXYItemLabelGenerator 的 XYAreaRenderer2

java - 如何在不使用 .equals 和 false boolean 值的情况下比较数组

java - Java 中是否有替代 gettext _() 方法的好方法?

java - Spring Batch EnableBatchProcessing 作业参数

java - 将 JFreeChart 从 Itext 5 迁移到 7