Java中的时间图绘制

时间:2012-07-03 14:41:30

标签: java jfreechart

我对Java中的图形可视化有点新,我正在尝试使用JFreeChart库,

我目前有2个阵列:

1st Array是一个Integer值数组。

第二个数组是一个日期数组。

我想绘制一个图表,其中Date在X轴上,整数值应该在Y轴上。任何人都可以帮助我创建这样的图形。

我已经检查了XYLine Chart,但问题是数据集只接受整数作为输入,但我必须输入日期。

任何其他建议如何创建此类图表。

2 个答案:

答案 0 :(得分:2)

您的X轴需要是TimeSeriesCollection

请参阅以下Time Series Demo 您可以通过搜索JfreeChart Time Series

找到其他示例

更新: 为了解决某些类和方法已@deprecated但事实仍然使用它们的事实 - 您需要修改示例,如下所示:
1)删除对TimeSeriesCollection::setDomainIsPointsInTime(...)的任何引用 它不是因为:

 /* @deprecated This flag is no longer used, as of 1.0.1.  The
  *             <code>includeInterval</code> flag in methods such as
  *             {@link #getDomainBounds(boolean)} makes this unnecessary.
  */

2)从TimeSeries(..., ...)中删除第二个参数。这不是必需的,因为:

 /* @deprecated As of 1.0.13, it is not necessary to specify the
  *     <code>timePeriodClass</code> as this will be inferred when the
  *     first data item is added to the dataset.
  */

答案 1 :(得分:0)

您可以使用

将日期转换为长整数
public long getTime()

然后使用您选择的数学方法到整数。

对于Gantt表示,请查看Jaret Timebars(GPL):http://jaret.de/timebars/