jasper-reports - 碧 Jade 报告 : How to mask or filter the labels at the chart's axis

标签 jasper-reports ireport jfreechart

我使用的是基于像这样的简单数据集的简单面积图:

DateTime(sql.timestamp) |Value(Integer)
2012-02-17 00:02:02     |100
2012-02-17 00:02:08     |110
2012-02-17 00:02:20     |90
2012-02-17 00:02:35     |10
2012-02-17 00:02:40     |130
2012-02-17 00:04:22     |14
2012-02-17 00:04:33     |45
2012-02-17 00:05:02     |60
...

DateTime被Category Axis使用,Value被Range Axis使用。
数据集中约有 1000 条记录
在类别轴的标签中,将显示每个日期时间值。
但是1000条记录太多了,类别标签将显示为黑线。
这就是我的问题。
我试图(取消)检查所有“图表属性”。没有结果。
我必须屏蔽或过滤标签吗?
我试图更改以下值:
类别刻度标签掩码
类别轴垂直刻度标签
(此复选框不生效)

类目轴的标签表达

所有在几个方面。 但它不会工作。 每个数据集都会创建一个自己的标签。

我使用过的其他报表引擎计算了 Cat。轴动态。
但是 JasperReports 呢?

我正在使用 iReport 4.5.0 和(实际)jfreechart 1.0.14

编辑

如果我使用时间序列图表,JasperReports 将按间隔(年、月、...)对数据进行分组,而不是动态

但是图表的外观非常好,所以这就是我想要的。 只有标签必须彼此远离。

这是一个很好的例子(advsoft phpChartdirector) that is OK

这里是 JasperReports/IReport 示例:

不好。看看猫。轴

not OK. Take a look to the cat. Axis

那么.. 该怎么办?

结束编辑

亲切的问候 基督徒

最佳答案

使用时间序列图而不是折线图。您应该通过这种方式得到您正在寻找的东西。

编辑:我使用您提供的 .jrxml 和数据进行了测试。它运作良好: Nice Time Series Chart

但是... iReport 中似乎有一个错误。您不能在 iReport GUI 中设置时间段。也许这就是导致您出现问题的原因。这让我很困惑。无论您尝试选择什么时间段,iReport 都会生成此文件:

<timeSeriesDataset>

但您需要手动将 JRXML 更改为:

<timeSeriesDataset timePeriod="Second">

一旦你这样做了,你就会得到一个漂亮的图表。至少 iReport 不会删除正确的 timePeriod 信息...因此您只需执行一次。

注意:如果您担心细节问题,例如让您的日期信息显示在 2 行上,这也是可能的。我讨厌被困在一条线上。我去年写了一篇关于那个的文章。查找 Category Labels on multiple lines 部分.

关于jasper-reports - 碧 Jade 报告 : How to mask or filter the labels at the chart's axis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9325801/

相关文章:

java - JASPER REPORT : Subreport nightmare, 数据源是列表

xml - 使用 XML 数据源而不是空白页时没有数据时显示 Jasper 报告

JFreeChart : How to make a series invisible?

java - 在 XY 数据集的 Y 轴上具有自定义标签 - JFreechart

jasper-reports - 在 Jasper Report 中使用多个 JavaBean 数据源

java - Jasper Report 导出带有 Hibernate 注释的 PDF

java - JasperReports 与 Maven 和 Eclipse 示例

mysql - Ireport:防止细节拆分影响页面总数

jasper-reports - Jasperreports 和 iReport 升级兼容性

java - PeriodAxis 不正确的时区