条形图相互连接,但我需要将其分开
Barchart is connected to each other but I need it to be separate
一切似乎都很好,唯一的问题是图表应该是一个没有相互连接的条形图,但是我最终得到的图表不是我想要的.
我关注了一个视频,代码好像也差不多,搞不懂是哪里出了问题:
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
}
图表看起来像这样(这不是我需要的样子):
这很简单:您创建的图表不是 barChart
,而是 areaChart
。
为了得到你想要的结果,只需将实例化图表的行更改为:
JFreeChart barChart = ChartFactory.createBarChart("House Points",
"All houses", "Amount of points", barChartData, PlotOrientation.VERTICAL, false, true, false);
你会得到类似的东西:
一切似乎都很好,唯一的问题是图表应该是一个没有相互连接的条形图,但是我最终得到的图表不是我想要的.
我关注了一个视频,代码好像也差不多,搞不懂是哪里出了问题:
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
}
图表看起来像这样(这不是我需要的样子):
这很简单:您创建的图表不是 barChart
,而是 areaChart
。
为了得到你想要的结果,只需将实例化图表的行更改为:
JFreeChart barChart = ChartFactory.createBarChart("House Points",
"All houses", "Amount of points", barChartData, PlotOrientation.VERTICAL, false, true, false);
你会得到类似的东西: