【问题标题】:iReport displays too many labels on x axisiReport 在 x 轴上显示太多标签
【发布时间】:2012-05-24 13:37:44
【问题描述】:

早上好!我在使用 Jaspersoft iReport 4.5.0 时遇到问题,希望能得到一些帮助。基本上,当我显示 xy 折线图时,它会尝试在 x 轴上为每个数据点添加标签。我有近 200 个数据点,所以即使我调整刻度标签的旋转或其他什么,它最终看起来也只是一条实线。

我知道对这个问题的一般回答是改用时间序列图。这通常会起作用,但在我的例子中,我使用的是多轴图表,其中相反轴是条形图。由于条形图没有时间序列变化,iReport 不允许我将条形图与时间序列图混合,迫使我使用 xy 折线图。

有什么方法可以让我也吃蛋糕吗?某种方式我可以过滤掉一些标签?或者可能限制可以显示的标签数量,分布在 x 轴上?我还没有在互联网上的任何地方看到明确的答案!

提前致谢! - 伊恩

编辑:这是我要修改的多轴图表之一的 jrxml:

<multiAxisChart>
    <chart evaluationTime="Report" hyperlinkType="LocalAnchor">
        <reportElement x="42" y="441" width="440" height="292"/>
        <chartTitle position="Top">
            <titleExpression><![CDATA["CICS Elapsed"]]></titleExpression>
        </chartTitle>
        <chartSubtitle/>
        <chartLegend/>
        <anchorNameExpression><![CDATA["CICS Elapsed Small"]]></anchorNameExpression>
        <hyperlinkAnchorExpression><![CDATA["CICS Elapsed Big"]]></hyperlinkAnchorExpression>
        <hyperlinkTooltipExpression><![CDATA["Click to Enlarge"]]></hyperlinkTooltipExpression>
    </chart>
    <multiAxisPlot>
        <plot/>
        <axis position="leftOrTop">
            <lineChart>
                <chart>
                    <reportElement x="0" y="0" width="0" height="0" backcolor="#FFFFFF"/>
                    <chartTitle position="Top" color="#000000">
                        <titleExpression><![CDATA["CICS Elapsed"]]></titleExpression>
                    </chartTitle>
                    <chartSubtitle color="#000000"/>
                    <chartLegend textColor="#000000" backgroundColor="#FFFFFF"/>
                </chart>
                <categoryDataset>
                    <dataset>
                        <datasetRun subDataset="wmprod_cics"/>
                    </dataset>
                    <categorySeries>
                        <seriesExpression><![CDATA["Cpu Time"]]></seriesExpression>
                        <categoryExpression><![CDATA[$F{TIMESTAMP}]]></categoryExpression>
                        <valueExpression><![CDATA[$F{ELAPSTIME}]]></valueExpression>
                    </categorySeries>
                </categoryDataset>
                <linePlot isShowShapes="false">
                    <plot/>
                    <categoryAxisLabelExpression><![CDATA["Date/Time"]]></categoryAxisLabelExpression>
                    <valueAxisLabelExpression><![CDATA["Avg Elapsed Time (ms)"]]></valueAxisLabelExpression>
                </linePlot>
            </lineChart>
        </axis>
        <axis position="rightOrBottom">
            <barChart>
                <chart>
                    <reportElement x="0" y="0" width="0" height="0" backcolor="#FFFFFF"/>
                    <chartTitle position="Top" color="#000000">
                        <titleExpression><![CDATA["CICS Elapsed"]]></titleExpression>
                    </chartTitle>
                    <chartSubtitle color="#000000"/>
                    <chartLegend textColor="#000000" backgroundColor="#FFFFFF"/>
                </chart>
                <categoryDataset>
                    <dataset>
                        <datasetRun subDataset="wmprod_cics"/>
                    </dataset>
                    <categorySeries>
                        <seriesExpression><![CDATA["Volume (transactions)"]]></seriesExpression>
                        <categoryExpression><![CDATA[$F{TIMESTAMP}]]></categoryExpression>
                        <valueExpression><![CDATA[$F{TRANSCOMPL}]]></valueExpression>
                    </categorySeries>
                </categoryDataset>
                <barPlot>
                    <plot/>
                    <itemLabel/>
                    <valueAxisLabelExpression><![CDATA["Volume (transactions)"]]></valueAxisLabelExpression>
                </barPlot>
            </barChart>
        </axis>
    </multiAxisPlot>
</multiAxisChart>

【问题讨论】:

  • 当然。添加到原始帖子。

标签: jasper-reports ireport


【解决方案1】:

我遇到了同样的问题。我想答案是这样的:

<chart>
  <reportElement x="0" y="0" width="802" height="215">
    <property name="net.sf.jasperreports.chart.domain.axis.tick.interval" value="1"/>
  </reportElement>

根据需要设置刻度间隔。注意:我的图表是散点图。未经折线图测试。

【讨论】:

  • 适当设置滴答间隔。希望它可以帮助某人。
  • 注意;我的图表是散点图。未经折线图测试
猜你喜欢
  • 1970-01-01
  • 2021-01-04
  • 1970-01-01
  • 1970-01-01
  • 2019-07-28
  • 2021-12-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多