a clave de fila @StackedBarChart no se agrega a DefaultCategoryDataSet
Tengo dos clases de entidad: A y B. A tiene entidades B, y tengo unaMap
definido en el siguiente formato:Map<A, List<B>
.
Quiero agregar todos los datos del mapa aDefaultCategoryDataset
con el siguiente código. Por ejemplo, si tengo 5 A y cada A tiene 4 B, quiero tener 25 teclas de fila. (Un número de entidad * (Un número de entidad + número de entidad B en cada A). Una clave de fila que almacena la clase A debe tener el mismo ancho; todas las demás filas que almacenan entidades B deben tener el mismo ancho. Para tener éxito en esto, estoy dando el mismos valores al agregar teclas de fila A ((doble) 1 / (1 + bResultList .size ()), y al dar valores más pequeños al agregar teclas de fila A ((doble) 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());
}
}
Pero cuando agrego todos los datos del mapa al conjunto de datos, no se almacenan todas las claves de fila. Cuando depuro, el conjunto de datos solo tiene 9 filas. (A1, B1, B2, B3, B4, A2, A3, A4, A5) Solo las entidades B de la primera entidad A se almacenan como claves de fila. Otras entidades B de otra entidad A no se almacenan en la base de datos.
Pero cuando visualizo el gráfico, todos los datos se muestran en el gráfico pero en orden incorrecto. El orden sigue.
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
Quiero mostrar como
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