-
Notifications
You must be signed in to change notification settings - Fork 810
Summary and Features
GraphView is a library for Android to programmatically create flexible and nice-looking diagrams. It is easy to understand, to integrate and to customize. Create Line Graphs, Bar Graphs, Point Graphs or implement your own custom types.
XML Layout file:
<com.jjoe64.graphview.GraphView
android:layout_width="match_parent"
android:layout_height="200dip"
android:id="@+id/graph" />
Java code:
GraphView graph = (GraphView) findViewById(R.id.graph);
LineGraphSeries<DataPoint> series = new LineGraphSeries<>(new DataPoint[] {
new DataPoint(0, 1),
new DataPoint(1, 5),
new DataPoint(2, 3)
});
graph.addSeries(series);
-
Different plotting types
Line Chart, Bar Chart and Points Chart and they can be plotted together as a combination. learn more
-
Draw multiple series of data
Let the diagram show more that one series in a graph. You can set a color and a description for every series. learn more
-
Realtime / Live Chart
Append new data live or reset the whole data. learn more
-
Secondary Scale learn more
-
Tap Listener
Handle tap events on specific data points. learn more
-
Show legend
A legend can be displayed inline the chart. You can set the width and the vertical align (top, middle, bottom). learn more
-
Custom label formatter
The labels for the x- and y-axis are generated automatically. But you can set your own labels, Strings are possible. learn more
-
Handle incomplete data
It's possible to give the data in different frequency.
-
Viewport
You can limit the viewport so that only a part of the data will be displayed. learn more
-
Scrolling and Scaling / Zooming
You can scroll with a finger touch move gesture. With two-fingers touch scale gesture (Multi-touch), the viewport can be changed. learn more
-
XML Integration learn more
-
Optional Axis Titles
Set vertical and horizontal axis titles. learn more
-
Many Styles
change the color and thickness, label font size/color and more learn more
-
Very customizable
There are many hooks to use in order to do custom rendering or changing the paint objects. learn more
-
Take snapshots and share learn more
-
.. and many more
-
Take a look at the GraphView-Demo project.
.$ git clone https://github.com/jjoe64/GraphView.git