gpt4 book ai didi

java - JTable 中的 CategoryPlot - JFreeChart

转载 作者:行者123 更新时间:2023-11-30 08:02:52 27 4
gpt4 key购买 nike

我必须使用 JFreeChart API 实现直方图。此直方图必须表示此 JTable 的数据:

enter image description here

所以我有一个包含三列的 JTable:“thea”、“type”、“Number of occurrences”。我的直方图有两个目标:第一个是统计每个thea字段出现的次数;二是用不同颜色标记不同类型的JTable记录对应的条形。

为了实现我的直方图,我使用了 DefaultCategoryDataset:

private DefaultCategoryDataset createDataset(ArrayList<String>fieldsOccs) {

DefaultCategoryDataset dataset = new DefaultCategoryDataset();
for(int i = 0; i<this.fieldsOccs.size() && i<end; i++) {
String thea = fieldsOccs.get(i).getFieldName();
String type = fieldsOccs.get(i).getType();
int occurrences = fieldsOccs.get(i).getOccurrences();

dataset.setValue(occurrences, type, thea);
}

return dataset;
}

然后我使用 createChart 方法创建我的图表:

private JFreeChart createChart(DefaultCategoryDataset dataset) {

JFreeChart chart = ChartFactory.createBarChart(
"",
"", //X-axis title
"", //Y-axis title
dataset, //dataset
PlotOrientation.HORIZONTAL, //plot orientation
true, //show legends
true, //use tooltips
false //generate URLs
);

return chart;

}

这是我得到的: enter image description here

正如您在图片中看到的那样,看起来并不好看。 x 轴上的值格式不正确。

如何解决这个渲染问题?

--编辑

我遇到这个问题只是为了防止 JTable 中有更多类型。例如,如果我的 JTable 是: enter image description here

只有字符串,相应的直方图很好: enter image description here

--编辑1

您如何看待 StackedBarChart3D?我得到这个输出:

enter image description here

最佳答案

My histogram has two targets:

  1. 您可能会使用 ChartFactory.createHistogram()SimpleHistogramDataset 获得更具吸引力的结果,参见 here .

  2. 要获得不同的颜色,请按照建议重写自定义 XYBarRenderer 中的 getItemPaint() 方法 here .

关于java - JTable 中的 CategoryPlot - JFreeChart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36549593/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com