Android Graph Library for creating zoomable and scrollable line and bar graphs.
Clone or download
jjoe64 Merge pull request #594 from frhun/master
Fixing Maven licensing information
Latest commit 73a93d7 Aug 22, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
gradle/wrapper released Apr 23, 2018
public v4.2.1 Sep 17, 2016
src/main check for permissions on snapshots Apr 20, 2018
.gitignore gradle wrapper + gitignore Dec 26, 2014
README.markdown new version in readme Apr 26, 2018 update javadoc readme Apr 30, 2018
anim.gif readme Oct 1, 2016
build.gradle released Apr 23, 2018
favicon.ico favicon Oct 13, 2016 Changed name to new License for Maven Aug 22, 2018
gradlew released Apr 23, 2018
gradlew.bat released Apr 23, 2018
license.txt changed license to apache 2.0 Oct 22, 2016
maven_push.gradle released Apr 23, 2018
proguard-rules.txt gradle module for Android Studio May 24, 2014
zooming.gif readme Oct 1, 2016


Chart and Graph Library for Android

What is GraphView

GraphView is a library for Android to programmatically create flexible and nice-looking diagrams. It is easy to understand, to integrate and to customize.

Supported graph types:

  • Line Graphs
  • Bar Graphs
  • Point Graphs
  • or implement your own custom types.

Top Features

  • Line Chart, Bar Chart, Points
  • Combination of different graph types
  • Scrolling vertical and horizontal . You can scroll with a finger touch move gesture.
  • Scaling / Zooming vertical and horizontal . With two-fingers touch scale gesture (Multi-touch), the viewport can be changed.
  • Realtime Graph (Live change of data)
  • Second scale axis
  • 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.
  • Show legend . A legend can be displayed inline the chart. You can set the width and the vertical align (top, middle, bottom).
  • Custom labels . The labels for the x- and y-axis are generated automatically. But you can set your own labels, Strings are possible.
  • 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.
  • Manual Y axis limits
  • And much more... Check out the project page and/or the demo app

How to use

  1. Add gradle dependency:
implementation 'com.jjoe64:graphview:4.2.2'
  1. Add view to layout:
        android:id="@+id/graph" />
  1. Add some data:
GraphView graph = (GraphView) findViewById(;
LineGraphSeries<DataPoint> series = new LineGraphSeries<DataPoint>(new DataPoint[] {
          new DataPoint(0, 1),
          new DataPoint(1, 5),
          new DataPoint(2, 3),
          new DataPoint(3, 2),
          new DataPoint(4, 6)

Download Demo project at Google Play Store

Showcase GraphView Demo App

More examples and documentation

Get started at project homepage

To show you how to integrate the library into an existing project see the GraphView-Demos project! See GraphView-Demos for examples.
View GraphView page