System.out.println("Hello all that use Java && JFreeChart!");
我正在编写一个应用程序,允许骑自行车的人(如我自己)跟踪他们的特定行程的平均速度,距离和时间。他们将输入该数据,然后弹出一个JFrame及其图表信息。我有一个类将elapsedTime转换为String格式(用于显示目的!),但我不认为JFreeChart可以接受Range值。实际上,我查看了他们的API文档http://www.jfree.org/jfreechart/api/javadoc/index.html,并很快发现Range()只接受double类型的参数!不是字符串,不是时间,双倍。这是一个令人失望的原因,因为我打算将显示的图表间隔设置为等于最小时间和最长时间所形成的间隔。有没有办法解决这个问题?
答案 0 :(得分:2)
根据我对这个问题的理解,你可以试试:
double value = Double.parseDouble(string);
但是,如果您输入基于时间的值,这显然不起作用。根据您所做的评论,TimeSeriesChart
中的ChartFactory
可能会解决您的问题。
答案 1 :(得分:0)
ChartFactory.createTimeSeriesChart()
似乎是要走的路,但这是最令人失望的方式。当然,你可以切换轴,但这对数据没有影响!处理此问题的最明智的方法是使用XYLineChart,然后使用RelativeDateFormat
:http://www.jfree.org/jfreechart/api/javadoc/index.html。这样,您的范围值就会显示为long
类型,然后您就可以引入DateAxis
RelativeDateFormat
。问题解决了。