HelloCharts alternatives and similar packages
Based on the "Chart" category.
Alternatively, view HelloCharts alternatives based on common mentions on social networks and blogs.
-
MPAndroidChart
A powerful ๐ Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations. -
WilliamChart
Android Library to rapidly develop attractive and insightful charts in android applications. -
Android-Charts
Open-source native Android graph/chart framework includes line chart,stick chart,candlestick chart,pie chart,spider-web chart etc. -
achartengine
Charting library for Android applications. Automatically exported from code.google.com/p/achartengine -
SciTrader - Android Financial Charts
Finance.Android aka the 'SciTrader SDK' is a free open source financial stock chart, cryptocurrency chart, trading chart library built on top of SciChart's Android Chart Library
CodeRabbit: AI Code Reviews for Developers
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of HelloCharts or a related project?
README
HelloCharts for Android
Charting library for Android compatible with API 8+(Android 2.2). Works best when hardware acceleration is available, so API 14+(Android 4.0) is recommended. Apache License 2.0.
Features
- Line chart(cubic lines, filled lines, scattered points)
- Column chart(grouped, stacked, negative values)
- Pie chart
- Bubble chart
- Combo chart(columns/lines)
- Preview charts(for column chart and line chart)
- Zoom(pinch to zoom, double tap zoom), scroll and fling
- Custom and auto-generated axes(top, bottom, left, right, inside)
- Animations
Screens and Demos
- Code of a demo application is in
hellocharts-samples
directory, requires appcompat v21. - The demo app is also ready for download on Google Play.
- Short video is available on YouTube.
[](screens/scr_dependecy_preview.gif)
[](screens/scr-tempo.png)
[](screens/scr-dependency.png)
[](screens/scr-preview-column.png)
[](screens/scr-pie1.png)
[](screens/scr-bubble1.png)
[](screens/scr-combo.png)
Download and Import
Android Studio/Gradle
- Maven Central/jCenter, add dependency to your
build.gradle
:
dependencies{
compile 'com.github.lecho:hellocharts-library:1.5.8@aar'
}
- JitPack.io, add
jitpack.io
repositiory and dependency to yourbuild.gradle
:
repositories {
maven {
url "https://jitpack.io"
}
}
dependencies {
compile 'com.github.lecho:hellocharts-android:v1.5.8'
}
Eclipse/ADT
- Download the latest release jar file.
- Copy
hellocharts-library-<version>.jar
into thelibs
folder of your application project.
Usage
Every chart view can be defined in layout xml file:
<lecho.lib.hellocharts.view.LineChartView
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="match_parent" />
or created in code and added to layout later:
LineChartView chart = new LineChartView(context);
layout.addView(chart);
Use methods from *Chart classes to define chart behaviour, example methods:
Chart.setInteractive(boolean isInteractive);
Chart.setZoomType(ZoomType zoomType);
Chart.setContainerScrollEnabled(boolean isEnabled, ContainerScrollType type);
Use methods from data models to define how chart looks like, example methods:
ChartData.setAxisXBottom(Axis axisX);
ColumnChartData.setStacked(boolean isStacked);
Line.setStrokeWidth(int strokeWidthDp);
Every chart has its own method to set chart data and its own data model, example for line chart:
List<PointValue> values = new ArrayList<PointValue>();
values.add(new PointValue(0, 2));
values.add(new PointValue(1, 4));
values.add(new PointValue(2, 3));
values.add(new PointValue(3, 4));
//In most cased you can call data model methods in builder-pattern-like manner.
Line line = new Line(values).setColor(Color.BLUE).setCubic(true);
List<Line> lines = new ArrayList<Line>();
lines.add(line);
LineChartData data = new LineChartData();
data.setLines(lines);
LineChartView chart = new LineChartView(context);
chart.setLineChartData(data);
After the chart data has been set you can still modify its attributes but right after that you should call
set*ChartData()
method again to let chart recalculate and redraw data. There is also an option to use copy constructor for deep copy of
chart data. You can safely modify copy in other threads and pass it to set*ChartData()
method later.
Contributing
Yes:) If you found a bug, have an idea how to improve library or have a question, please create new issue or comment existing one. If you would like to contribute code fork the repository and send a pull request.
License
HelloCharts
Copyright 2014 Leszek Wach
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
HelloCharts library uses code from InteractiveChart sample available
on Android Developers page:
http://developer.android.com/training/gestures/scale.html
*Note that all licence references and agreements mentioned in the HelloCharts README section above
are relevant to that project's source code only.