我对 Java 中的图形可视化有点陌生,我正在尝试使用 JFreeChart 库,
我目前有 2 个数组:
第一个数组是一个整数值数组。
第二个数组是一个日期数组。
我想绘制一个图表,其中日期在 X 轴上,整数值应该在 Y 轴上。任何人都可以帮助我如何创建这样的图表。
我已经检查了 XYLine Chart,但问题是数据集只接受整数作为输入,但我必须输入日期。
任何其他建议我如何创建这样的图表。
我对 Java 中的图形可视化有点陌生,我正在尝试使用 JFreeChart 库,
我目前有 2 个数组:
第一个数组是一个整数值数组。
第二个数组是一个日期数组。
我想绘制一个图表,其中日期在 X 轴上,整数值应该在 Y 轴上。任何人都可以帮助我如何创建这样的图表。
我已经检查了 XYLine Chart,但问题是数据集只接受整数作为输入,但我必须输入日期。
任何其他建议我如何创建这样的图表。
您的 X 轴需要是TimeSeriesCollection
.
请参阅以下时间序列演示。
您可以通过搜索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.
*/
You could convert the date to a long with
public long getTime()
and then to an Integer by using mathematical means of your choice.
For a Gantt representation, take a look at Jaret Timebars (GPL): http://jaret.de/timebars/