gpt4 book ai didi

java - StackedBarChart 行键未添加到 DefaultCategoryDataSet

转载 作者:太空宇宙 更新时间:2023-11-04 08:28:08 24 4
gpt4 key购买 nike

我有两个实体类:A 和 B。A 有 B 实体,我有 Map按以下格式定义:Map<A, List<B> .

我想将所有 map 数据添加到 DefaultCategoryDataset 与以下代码。例如,如果有 5 个 A,每个 A 有 4 个 B,我想要 25 个行键。 (实体编号 *(每个 A 中的实体编号 + B 实体编号)。存储 A 类的行键必须具有相同的宽度;存储 B 实体的所有其他行必须具有相同的宽度。为了成功实现这一点,我在添加 A 行键 ((double) 1/(1 + bResultList .size()) 时给出相同的值,并在添加 A 行键 ((double) 1/(1 + bResultList .size() + 6) 时给出较小的值。

DefaultCategoryDataset dataset = new DefaultCategoryDataset();
/** for each workpoint */
for (A aResult : map.keySet()) {
List<B> bResultList = map.get(aResult);
dataset.addValue(
(double) 1 / (1 + bResultList.size()),
"WorkPoint " + aResult.getTimeStep(),
"WP T=" + aResult.getTimeStep());
/** for each contingency result */
for (B bResult : bResultList) {
dataset.addValue(
(double) 1 / (1 + bResultList.size() + 6),
bResult.getName(),
"WP T=" + aResult.getTimeStep());
}
}

但是当我将所有 map 数据添加到数据集中时,所有行键都不会存储。当我调试时,数据集只有 9 行。 (A1,B1,B2,B3,B4,A2,A3,A4,A5) 仅第一个 A 实体的 B 实体存储为行键。其他A实体的其他B实体未存储在数据库中。

但是当我显示图表时,所有数据都显示在图表中,但顺序错误。订单如下。

A1-B1-B2-B3-B4
B1-B2-B3-B4-A2
B1-B2-B3-B4-A3
B1-B2-B3-B4-A4
B1-B2-B3-B4-A5

我想显示为

A1-B1-B2-B3-B4
A2-B1-B2-B3-B4
A3-B1-B2-B3-B4
A4-B1-B2-B3-B4
A5-B1-B2-B3-B4

最佳答案

如果没有您的 sscce,问题并不明显。将您的数据集与典型的 CategoryDataset 进行比较可能会有所帮助,例如 this one具有不同的系列(行)和类别(列)键。此外,添加 CategoryItemLabelGenerator 可能有助于调试。

renderer.setBaseItemLabelGenerator(
new StandardCategoryItemLabelGenerator(
"{0} {1} {2}", NumberFormat.getInstance()));
renderer.setBaseItemLabelsVisible(true);

关于java - StackedBarChart 行键未添加到 DefaultCategoryDataSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8111244/

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