我使用的是基于简单数据集的简单区域图:
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记录
在类别的标签中,Axis将显示每个DateTime值
但是有1000个记录太多,类别标签将显示为黑线
那是我的问题
我试图(联合国)检查所有“图表属性”。没有结果。
我必须掩盖或过滤标签吗?
我试图改变以下的值:
类别刻度标签面具
类别轴垂直刻度标签
(此复选框无效)
类别轴的标签表达
所有在几个方面。
但它不起作用。
每个数据集都将创建一个自己的标签。
我使用的其他报告引擎计算了Cat。轴动态。
但JasperReports?
我正在使用iReport 4.5.0
和(实际)jfreechart 1.0.14
修改
如果我使用时间序列图表,JasperReports将按Intervall(年,月,...)对数据进行分组,而不是动态
但是图表的外观相当不错,所以这就是我想要的。 只有标签必须彼此远离。
这里有一个很好的例子(advsoft phpChartdirector)
这里是JasperReports / IReport示例:
不行。看看猫。轴
那么......怎么办?
结束编辑
亲切的问候 基督教
答案 0 :(得分:2)
使用时间序列图表而不是折线图。你应该得到你正在寻找的那种方式。
编辑:我使用您提供的.jrxml和数据进行了测试。效果很好:
但是...... iReport中似乎有一个错误。您无法在iReport GUI中设置时间段。也许这就是导致你出现问题的原因。这对我来说非常困惑。无论您尝试选择什么时间段,iReport都会生成此信息:
<timeSeriesDataset>
但您需要手动将JRXML更改为:
<timeSeriesDataset timePeriod="Second">
一旦你这样做,那么你会得到一个漂亮的图表。至少iReport不会删除正确的timePeriod信息...因此您只需要执行一次。
注意:如果您担心要在2行显示日期信息等细节,也可以这样做。我讨厌被困在一条线上。去年我写了一篇关于这篇文章的文章。查找Category Labels on multiple lines部分。