我想绘制XY线图,Y轴上有一些双值,X轴上有一些String值。但是XYSeries只接受双/长值。那么,有什么办法可以在X轴上使用字符串数组吗?
感谢您的任何建议。
代码:
//fDates are strings
XYSeries fPriceseries = new XYSeries("Fuel prices");
for(int i=0;i<fDates.length;i++)
{
long fDate = Long.parseLong(fDates[i]);
fPriceseries.add(fDate, fPrice[i]);
}
XYSeries fMileageSeries = new XYSeries("Mileage");
for(int i=0;i<fDates.length;i++)
{
long fDate = Long.parseLong(fDates[i]);
fMileageSeries.add(fDate, fMileage[i]);
}
答案 0 :(得分:2)
使用TimeSeries:
fDates as Date array
TimeSeries fPriceseries = new TimeSeries("Fuel prices");
for(int i=0;i<fDates.length;i++)
{
fPriceseries.add(fDates[i], fPrice[i]);
}
TimeSeries fMileageSeries = new TimeSeries("Mileage");
for(int i=0;i<fDates.length;i++)
{
fMileageSeries.add(fDates[i], fMileage[i]);
}
fDates as String array - 使用SimpleDateFormat。
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
TimeSeries fPriceseries = new TimeSeries("Fuel prices");
for(int i=0;i<fDates.length;i++)
{
fPriceseries.add(sdf.parse(fDates[i]), fPrice[i]);
}
TimeSeries fMileageSeries = new TimeSeries("Mileage");
for(int i=0;i<fDates.length;i++)
{
fMileageSeries.add(sdf.parse(fDates[i]), fMileage[i]);
}
Referencies:
http://www.achartengine.org/content/javadoc/org/achartengine/model/TimeSeries.html http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
答案 1 :(得分:0)
您无法在任何轴上使用字符串绘制图表。
说明:
当我们绘制图表时,我们比较两个值...如3,5或7,22或12.3,10000 ..
相对于整数或双精度绘制字符串,就像比较苹果和橙子一样。
对不起朋友,但不可能..除非你转换字符串或为其内容创建参考..