jfreechart - jFreechart CategoryDataset 排序列
问题描述
我创建了一个多系列折线图并动态填充其数据集:
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
for (Map.Entry<Long, TreeMap<Integer, Integer>> entrya : mtypes.entrySet()) {
TreeMap<Integer, Integer> atypes = entrya.getValue();
if (atypes.isEmpty())
continue;
Long aid = entrya.getKey();
String name = (aid < 2 ? "Важное" : (aid < 3 ? "Негатив" : "Позитив"));
for (Map.Entry<Integer, Integer> entrym : atypes.entrySet()) {
int m = entrym.getKey();
dataset.addValue(entrym.getValue(), name, Integer.valueOf(m + 1));
}
image = PDFUtil.printLineChart(writer, "", "", "Баллы", dataset , 500, 0, true);
一个系列的源数组 atypes 具有以下形式:
{
1={2=4, 3=1},
2={0=1, 3=1, 4=1},
3={0=3, 1=16, 2=31, 3=2, 4=12}
}
地图中的所有数字键都按升序排序,但在图表上,列值未排序(横轴):
我怎样才能对它进行升序排序?这段代码没有帮助:
chart.getCategoryPlot().getDomainAxis().setColumnRenderingOrder(SortOrder.ASCENDING)
解决方案
推荐阅读
- php - 友好的 URL 架构
- r - 在 R 中使用 tidyverse 有类似于 colSums(is.na(df))?
- terraform - 子网到可用区并重复
- android - 我无法与我的 Android Studio 项目进行成功的项目同步
- c++ - 我可以使用结构化绑定和 for-each 循环来遍历几个“打包在一起”的值吗?
- spring-boot - 在 Spring Boot + Mockito 中测试 @Retryable 和 @Recover 方法
- huawei-mobile-services - 华为 Account Kit 自动电话验证不起作用
- php - 无法在 PHP 中的 file_get_contents 上打开流
- php - 如果 php 会话存在,则从 .htaccess 锁定文件夹下载文件
- c# - Selenium 无法访问网页上的任何元素