【问题标题】:iReport 5.0.0: Remove space betwen Y bar and plot for Timeseries chartiReport 5.0.0:删除时间序列图表的 Y 条和绘图之间的空间
【发布时间】:2013-07-30 11:25:27
【问题描述】:

我正在尝试在 iReport 5.0.0 中创建一个 Timeseries 图表,并且想要移除图表中 Y 轴和线条之间的空间,如何我这样做?

我已经有一个定制器类,并试图思考其中的一些值,但没有运气。非常感谢任何帮助。

在 y 轴上添加了一个日期刻度,我的第一个日期似乎是 2011-06-30,但我的 x 轴由于某些原因从 2011-05-01 开始。

【问题讨论】:

    标签: java charts jasper-reports timeserieschart


    【解决方案1】:

    在您的图表定制器中,将您的绘图转换为XYPlot(或直接调用chart.getXYPlot()),然后调用setAxisOffset。此方法设置轴和绘图之间的间隙。 (javadoc here)

    从 y 轴移除间隙应该像调用一样简单:

    plot.setAxisOffset(new RectangleInsets(5.0, 0.0, 5.0, 5.0));
    

    可以通过以下方式消除所有差距:

    plot.setAxisOffset(new RectangleInsets(0.0, 0.0, 0.0, 0.0));
    

    plot.setAxisOffset(RectangleInsets.ZERO_INSETS);
    

    编辑: 默认情况下,绘图将在第一个数据点之前稍微开始。如果您希望数据立即从绘图边缘开始,请在日期轴上调用 setMinimumDate,将其设置为与数据集中第一个点相同的值。

    【讨论】:

    • 嗨,乔恩,感谢您的回答。现在看起来好多了,但是 y 轴和线之间仍然存在间隙。它可能与x轴有关吗?似乎它显示了每 4 个月的日期,所以它以某种方式将页岩推错了?例如 2011 年 7 月、2011 年 10 月等。
    • @user2556565,我已经进行了快速编辑以解决您的问题。
    • 感谢一百万,这似乎使图表看起来不错。我在上面的最后一个问题上添加了。在那之后,我认为我非常满意,并将将此问题标记为已解决。
    • 我想我会为那个问题打开一个单独的问题。认为这个案子已经解决了。
    【解决方案2】:

    轴现在可以工作了。我这样做了:

    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.YEAR,2011);
    cal.set(Calendar.MONTH,05);
    cal.set(Calendar.DAY_OF_MONTH,30);
    
    java.util.Date d = cal.getTime();
    domainAxis.setMinimumDate(d);
    

    以上答案已解决。我还将开辟一个关于如何获得系列中的第一个值的新线程。但这将是一个单独的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-04
      • 1970-01-01
      • 1970-01-01
      • 2021-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多