How to plot a graph with Time in x-axis and value on the other in android?

Sparkplug picture Sparkplug · May 31, 2013 · Viewed 7k times · Source

I want to plot a Time vs value graph where time (in hours) is on the x-axis and the Values should be on the y-axis. Is there any library to do this? I tried using achartengine http://wptrafficanalyzer.in/blog/android-drawing-time-chart-with-timeseries-in-achartengine/ but not much helpful.

Answer

appsthatmatter picture appsthatmatter · Jun 6, 2013

you can use GraphView for doing this.

http://www.jjoe64.com/p/graphview-library.html

https://github.com/jjoe64/GraphView

you have to use a Custom label formatter. There's an example where the X-values are displayed as DateTime.

GraphView graphView = new LineGraphView(this, "example") {
   @Override
   protected String formatLabel(double value, boolean isValueX) {
      if (isValueX) {
         // convert unix time to human time
         return dateTimeFormatter.format(new Date((long) value*1000));
      } else return super.formatLabel(value, isValueX); // let the y-value be normal-formatted
   }
};

It should be easy to modify this to your purpose.