2013-03-10 101 views
2

我可以设置日期格式的时间图中这样如何在AChartEngine中设置CombinedXYChart的日期格式?

final GraphicalView view = ChartFactory.getTimeChartView(context, dataset, 
       mRenderer, "dd-MMM-yyyy"); 

但我不能做同样的ComninedXYChart的

String[] types = new String[] { TimeChart.TYPE , ScatterChart.TYPE, ScatterChart.TYPE}; 
final GraphicalView view = 
    ChartFactory.getCombinedXYChartView(context, dataset, mRenderer, types); 

图像下方的情况下: enter image description here

有什么想法吗?

回答

1

在CombinedXYChart情况下,你将不得不使用自定义标签:

// disable the default labels 
renderer.setXLabels(0); 
// add several such labels 
renderer.addXTextLabel(x, "label"); 
0

其实我已经找到更好的方法。诀窍是使用方法setXLabelFormat具有重载NumberFormat的结合:

SimpleDateFormat mDateFormatter = new SimpleDateFormat("d MMM"); 
renderer.setXLabelFormat(new NumberFormat() { 
     @Override 
     public StringBuffer format(double value, StringBuffer buffer, FieldPosition field) { 
      return mDateFormatter.format(value, buffer, field); 
     } 

     @Override 
     public StringBuffer format(long value, StringBuffer buffer, FieldPosition field) { 
      return mDateFormatter.format(value, buffer, field); 
     } 

     @Override 
     public Number parse(String string, ParsePosition position) { 
      return mDateFormatter.parse(string, position).getTime(); 
     } 
    }); 

当然会多bettter如果方法setXLabelFormat接受Format(这是基类的所有格式),而不是NumberFormat,但我认为这仍然是优雅和相当简单的溶剂。

相关问题