1

System.out.println("Hello all that use Java && JFreeChart!");

我正在编写一个应用程序,允许骑自行车的人(例如我自己)跟踪给定行程的平均速度、距离和时间。他们将输入该数据,然后会弹出一个带有图形信息的 JFrame。我有一个将 elapsedTime 转换为字符串格式的类(用于显示目的!),但我认为 JFreeChart 不能将它用于 Range 值。事实上,我查看了他们的 API 文档http://www.jfree.org/jfreechart/api/javadoc/index.html,很快发现 Range() 只接受 double 类型的参数!不是字符串,不是时间,双倍。这是一个失望,因为我打算将显示的图表间隔设置为它们的最小时间和最大时间形成的间隔。有没有办法解决?

4

2 回答 2

2

根据我对问题的理解,您可以尝试:

double value = Double.parseDouble(string);

但是,如果您输入基于时间的值,这显然不起作用。根据您所做的评论,也许一个TimeSeriesChartfromChartFactory可以解决您的问题。

于 2013-04-20T13:21:10.603 回答
0

这似乎ChartFactory.createTimeSeriesChart()是要走的路,但这是最令人失望的路。当然,您可以切换轴,但这对数据没有任何影响!解决这个问题的最聪明的方法是使用 XYLineChart,然后使用RelativeDateFormathttp ://www.jfree.org/jfreechart/api/javadoc/index.html 。这样,您的范围值以 type 形式输入long,然后您只需带入 a DateAxisthat has RelativeDateFormat。问题解决了。

于 2013-04-21T14:09:14.917 回答