A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations.

Overview

banner

Release API Android Arsenal Gitter Twitter

A powerful & easy to use chart library for Android

Charts is the iOS version of this library

Table of Contents

  1. Quick Start
    1. Gradle
    2. Maven
  2. Documentation
  3. Examples
  4. Questions
  5. Donate
  6. Social Media
  7. More Examples
  8. License
  9. Creators

Gradle Setup

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
}

Maven Setup

<!-- <repositories> section of pom.xml -->
<repository>
    <id>jitpack.io</id>
   <url>https://jitpack.io</url>
</repository>

<!-- <dependencies> section of pom.xml -->
<dependency>
    <groupId>com.github.PhilJay</groupId>
    <artifactId>MPAndroidChart</artifactId>
    <version>v3.1.0</version>
</dependency>

Documentation 📔

See the documentation for examples and general use of MPAndroidChart.

See the javadocs for more advanced documentation.


Examples 👀

Download the MPAndroidChart Example App or look at the source code.

ScreenShot


Questions & Issues 🤔

This repository's issue tracker is only for bugs and feature requests. The maintainers ask that you refrain from asking questions about how to use MPAndroidChart through the issue tracker.

Please read the documentation first, then ask all your questions on stackoverflow.com for the fastest answer.


Donations ❤️

This project needs you! If you would like to support this project's further development, the creator of this project or the continuous maintenance of this project, feel free to donate. Your donation is highly appreciated (and I love food, coffee and beer). Thank you!

PayPal

  • Donate 5 $: Thank's for creating this project, here's a coffee (or some beer) for you!
  • Donate 10 $: Wow, I am stunned. Let me take you to the movies!
  • Donate 15 $: I really appreciate your work, let's grab some lunch!
  • Donate 25 $: That's some awesome stuff you did right there, dinner is on me!
  • Or you can also choose what you want to donate, all donations are awesome!

Social Media 🔥

If you like this library, please tell others about it 💕 💕

Share on Twitter Share on Google+ Share on Facebook

If you like, you can follow me on Twitter @PhilippJahoda.


More Examples 👍


LineChart (with legend, simple design)

alt tag

LineChart (with legend, simple design)

alt tag

LineChart (cubic lines)

alt tag

LineChart (gradient fill)

alt tag

BarChart (with legend, simple design)

alt tag

BarChart (grouped DataSets)

alt tag

Horizontal-BarChart

alt tag

Combined-Chart (bar- and linechart in this case)

alt tag

PieChart (with selection, ...)

alt tag

ScatterChart (with squares, triangles, circles, ... and more)

alt tag

CandleStickChart (for financial data)

alt tag

BubbleChart (area covered by bubbles indicates the yValue)

alt tag

RadarChart (spider web chart)

alt tag


License 📄

Copyright 2020 Philipp Jahoda

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.


Special Thanks ❤️

These people rock!

Comments
  • Support for x values (instead of x indices)

    Support for x values (instead of x indices)

    Thanks for your great library!

    We just found one major drawback. We like to draw a time series chart where the values are not equidistant. The x values where points are drawn must be at any position not just distributed equally by index. For example, the x axis represents the date and time (as in this blood pressure chart http://www.andreas-schreiber.net/activities/quantified-self/blood-pressure/).

    This applies to line chart and scatter chart.

    enhancement 
    opened by onyame 116
  • Date on X axis.

    Date on X axis.

    hi, i am using MPandroid chart in my app. i want to plot chart using values on y axis and date on x axis. I don't find any datetime axis in mp android chart. is there any way to plot x axis using date. i have values against date. i want to show the dates in (ddMMM-yy) format on x axis and the values on y axis. anyone can pass me the sample link for the same.

    sample for data: Date(X axis) Value(Y axis) 01/01/2001 966.78 01/02/2001 666.78 01/03/2001 966.78 01/04/2001 966.78 01/05/2001 966.78 01/06/2001 966.78 01/07/2001 966.78

    guide.

    opened by joshisunil-1983 73
  • how to display dynamic labels for XAxis

    how to display dynamic labels for XAxis

    I am using bar chart and i am unable to display dynamic xaxis labels on the chart, so far i have been able to show only one label for all bars using value formatter, please can anyone show me how to do it. It is a good library but still not sufficient documentation for noobs. currently i am using this code:

    XAxis xval = barChart.getXAxis();
            xval.setDrawLabels(true);
            xval.setValueFormatter(new AxisValueFormatter() {
                @Override
                public String getFormattedValue(float value, AxisBase axis) {
                    return  "Label";
                }
    
                @Override
                public int getDecimalDigits() {
                    return 0;
                }
            });
    
        xval.setPosition(XAxis.XAxisPosition.BOTTOM);
        xval.setDrawGridLines(false);
    
    opened by ghost 36
  • Entries disappearing while zooming ScatterChart

    Entries disappearing while zooming ScatterChart

    I'm using a ScatterChart with cca. 10k xVals, and about 200 Entries. When I zoom, all entries on the graph disappear except the ones on the far right. When I drag to the far right, they suddenly appear (regardless of the zoom amount).

    bug 
    opened by Paladinko 36
  • Unable to import library via Gradle

    Unable to import library via Gradle

    I'm trying to import library like said in Usage section in my Android project. I'm currently using Gradle, ofc.

    This is a piece of my build.gradle

    [...]
    repositories {
            maven { url 'http://repo1.maven.org/maven2' }
            maven { url 'https://jitpack.io' }
        }
    }
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:23.1.1'
        compile 'com.android.support:design:23.1.1'
        compile 'com.github.PhilJay:MPAndroidChart:v2.2.0'
    }
    

    and this is the error I got: schermata 2016-01-29 alle 15 29 15

    I'm not new to importing new dependencies to my project and I really need to say that this is the first time I can't include a new dependency in this way....

    On the other side, including JAR library in lib folder does the trick.

    opened by Shadie6 31
  • Invalid index 0, size is 0 in lineChart

    Invalid index 0, size is 0 in lineChart

    in the first, I add an empty chart data ,then

    java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
    11-09 19:34:42.397 E/AndroidRuntime( 5201): 	at             java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
    11-09 19:34:42.397 E/AndroidRuntime( 5201): 	at java.util.ArrayList.get(ArrayList.java:308)
    11-09 19:34:42.397 E/AndroidRuntime( 5201): 	at com.github.mikephil.charting.data.DataSet.getEntryForIndex(DataSet.java:286)
    11-09 19:34:42.397 E/AndroidRuntime( 5201): 	at com.github.mikephil.charting.utils.Transformer.generateTransformedValuesLine(Transformer.java:184)
    11-09 19:34:42.397 E/AndroidRuntime( 5201): 	at com.github.mikephil.charting.renderer.LineChartRenderer.drawValues(LineChartRenderer.java:545)
    11-09 19:34:42.397 E/AndroidRuntime( 5201): 	at com.github.mikephil.charting.charts.BarLineChartBase.onDraw(BarLineChartBase.java:251)
    

    I think it is because of you dont check size when you draw values

    opened by madroidmaq 29
  • I get a negative NegativeArraySizeException at generateTransformedValuesScatter

    I get a negative NegativeArraySizeException at generateTransformedValuesScatter

    This is the data I pass along:

    DataSet, label: Equities, entries: 22
    Entry, x: 2.4622053E-4 y (sum): -2.5103273E-4 Entry, x: 1.4264166E-4 y (sum): 1.06562635E-4 Entry, x: 1.0069651E-4 y (sum): 2.2954303E-4 Entry, x: 3.3205854E-6 y (sum): 6.520928E-5 Entry, x: 2.1512537E-4 y (sum): -1.926993E-4 Entry, x: 1.4847405E-4 y (sum): -1.5883509E-4 Entry, x: 2.8459038E-4 y (sum): 1.1068245E-4 Entry, x: 1.3150444E-4 y (sum): 1.4332784E-4 Entry, x: 7.719888E-5 y (sum): 1.6962597E-4 Entry, x: 1.3707434E-4 y (sum): 1.7498349E-4 Entry, x: 2.5035875E-4 y (sum): 3.8239497E-4 Entry, x: 1.0254524E-4 y (sum): 1.468406E-4 Entry, x: 1.5425305E-4 y (sum): 4.278698E-5 Entry, x: 1.2035284E-4 y (sum): 3.2309844E-4 Entry, x: 8.58292E-5 y (sum): 4.6827746E-4 Entry, x: 8.473067E-5 y (sum): 4.3495893E-4 Entry, x: 3.0464705E-4 y (sum): -2.1406553E-4 Entry, x: 2.2885398E-4 y (sum): -1.1195301E-4 Entry, x: 1.5392534E-4 y (sum): 4.011409E-5 Entry, x: 2.240534E-4 y (sum): 1.1159029E-5 Entry, x: 2.7432045E-4 y (sum): -1.8261799E-5 Entry, x: 4.9744867E-5 y (sum): -1.1376083E-4 
    

    And I get a NegativeArraySizeException:

    java.lang.NegativeArraySizeException: -10
                                                                                            at com.github.mikephil.charting.utils.Transformer.generateTransformedValuesScatter(Transformer.java:110)
                                                                                            at com.github.mikephil.charting.renderer.ScatterChartRenderer.drawValues(ScatterChartRenderer.java:106)
                                                                                            at com.github.mikephil.charting.renderer.CombinedChartRenderer.drawValues(CombinedChartRenderer.java:95)
                                                                                            at com.github.mikephil.charting.charts.BarLineChartBase.onDraw(BarLineChartBase.java:272)
                                                                                            at android.view.View.draw(View.java:15231)
    
    
        public float[] generateTransformedValuesScatter(IScatterDataSet data, float phaseX,
                                                        float phaseY, int from, int to) {
    
            /// ------- interestingly i get a 17 for the from and an 11 for the to which is n fact negative.
            final int count = (int) ((to - from) * phaseX + 1) * 2;
    
            if(valuePointsForGenerateTransformedValuesScatter.length != count){
                valuePointsForGenerateTransformedValuesScatter = new float[count];
            }
            float[] valuePoints = valuePointsForGenerateTransformedValuesScatter;
    
            for (int j = 0; j < count; j += 2) {
    
                Entry e = data.getEntryForIndex(j / 2 + from);
    
                if (e != null) {
                    valuePoints[j] = e.getX();
                    valuePoints[j + 1] = e.getY() * phaseY;
                }else{
                    valuePoints[j] = 0;
                    valuePoints[j + 1] = 0;
                }
            }
    
            getValueToPixelMatrix().mapPoints(valuePoints);
    
            return valuePoints;
        }
    
    

    I use the current/newest version from maven.

    opened by KIC 27
  • Fill LineChart sometimes not working

    Fill LineChart sometimes not working

    With last version 2.0.8 sometimes the chart is not filled. When I revert back to 2.0.7 it works again.

    set1.setDrawFilled(true); set1.setFillColor(getResources().getColor(R.color.red_down)); mChart.setData(data) mChart.invalidate();

    regards

    opened by warmax 27
  • How to add this library to my project?

    How to add this library to my project?

    Hey ,PhilJay. I want to develop an application with a chart functionality. So I found MPAndroidChart on github, I really like this project. But because I'm just starting out with github, so I do not know how to apply some of the features of this project to my application. I would be very appreciate if you could tell me the the way to apply it to my application!

    opened by sparrowjack 26
  • How to hide labels of pie part if its value is 0

    How to hide labels of pie part if its value is 0

    I want to hide labels in some parts of pie chart when its value is 0, because I don't want to see these labels is stacked as picture bellow bug How do I fix it???

    opened by hongsonitptit 22
  • v.3.0.0-beta1 BarChart: ArrayIndexOutOfBoundsException when formatter applied, granularity is enabled and there's only one data point

    v.3.0.0-beta1 BarChart: ArrayIndexOutOfBoundsException when formatter applied, granularity is enabled and there's only one data point

    Hi, I've faced an ArrayIndexOutOfBoundsException under following conditions:

    • AxisValueFormatter is applied to x axis, where formatted value is an item of a list;
    • granularity is enabled for x axis;
    • the data consists of only one value.

    Here's the stacktrace:

    java.lang.ArrayIndexOutOfBoundsException: length=12; index=-1
    at java.util.ArrayList.get(ArrayList.java:310)
    at com.example.asuprun.tempconverter.AnotherActivity$1.getFormattedValue(AnotherActivity.java:65)
    at com.github.mikephil.charting.components.AxisBase.getFormattedLabel(AxisBase.java:451)
    at com.github.mikephil.charting.components.AxisBase.getLongestLabel(AxisBase.java:437)
    at com.github.mikephil.charting.renderer.XAxisRenderer.computeSize(XAxisRenderer.java:78)
    at com.github.mikephil.charting.renderer.XAxisRenderer.computeAxisValues(XAxisRenderer.java:73)
    at com.github.mikephil.charting.renderer.XAxisRenderer.computeAxis(XAxisRenderer.java:66)
    at com.github.mikephil.charting.charts.BarLineChartBase.notifyDataSetChanged(BarLineChartBase.java:339)
    at com.github.mikephil.charting.charts.Chart.setData(Chart.java:318)
    at com.example.asuprun.tempconverter.AnotherActivity.plotData(AnotherActivity.java:88)
    at com.example.asuprun.tempconverter.AnotherActivity.toggleData(AnotherActivity.java:98)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:270)
    at android.view.View.performClick(View.java:4780)
    at android.view.View$PerformClick.run(View.java:19866)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5254)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
    

    Simplified code:

    public class AnotherActivity extends AppCompatActivity {
        private ViewGroup chartView;
        private Map<String, Integer> data;
        private BarChart chart;
    
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.chart_layout);
    
            chartView = (ViewGroup) findViewById(R.id.chart_view);
            chart = new BarChart(this);
            data = new LinkedHashMap<>();
            data.put("6/15", 36);
            data.put("8/15", 23);
            chartView.addView(chart);
            plotData();
        }
    
        private void plotData() {
            chart.clear();
            final ArrayList<String> xVals = new ArrayList<>();
            ArrayList<BarEntry> yVals = new ArrayList<>();
    
            for (Map.Entry<String, Integer> entry : data.entrySet()) {
                yVals.add(new BarEntry(xVals.size(), entry.getValue()));
                xVals.add(entry.getKey());
            }
    
            XAxis xAxis = chart.getXAxis();
            xAxis.setDrawGridLines(false);
            xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
            xAxis.setGranularityEnabled(true);
            xAxis.setValueFormatter(new AxisValueFormatter() {
                                        @Override
                                        public String getFormattedValue(float value, AxisBase axis) {
                                            try {
                                                return xVals.get((int) value);
                                            } catch (IndexOutOfBoundsException e) {
                                                e.printStackTrace();
                                                return "stub";
                                            }
                                        }
    
                                        @Override
                                        public int getDecimalDigits() {
                                            return 0;
                                        }
                                    }
            );
    
            chart.getAxisRight().setEnabled(false);
            YAxis axisLeft = chart.getAxisLeft();
            axisLeft.setAxisMinValue(0f);
            axisLeft.setGranularityEnabled(true);
            axisLeft.setGranularity(1f);
    
            BarDataSet dataSet = new BarDataSet(yVals, "Data");
            BarData barData = new BarData(dataSet);
            barData.setBarWidth(0.7f);
            chart.setData(barData);
            chart.invalidate();
        }
    
        public void toggleData(View view) {
            if (data.size() > 1) {
                data.remove("8/15");
            } else {
                data.put("8/15", 23);
            }
            plotData();
        }
    }
    
    opened by antohama 21
  • Different values ​​for Xaxis: MPANDROIDCHART

    Different values ​​for Xaxis: MPANDROIDCHART

    I have a horizontal chart, I use the mpandroidchart library to draw it:

    image

    I need my Xaxis top to have different data from my Xaxis bottom. Does the library support this?

    image

    my code

           `val xAxis = barChartHorizontalProduct.xAxis
            xAxis.setDrawGridLines(false)
            xAxis.granularity = 1f
            xAxis.isGranularityEnabled = true
            xAxis.position = XAxisPosition.BOTTOM
            xAxis.textSize = 8f
            xAxis.setDrawAxisLine(false)
            xAxis.xOffset = -8f
            xAxis.valueFormatter = IndexAxisValueFormatter(label)
    
    
            val test = arrayOf("test1", "test2", "test3")
            val xAxisTop = barChartHorizontalProduct.xAxis
            xAxisTop.valueFormatter = IndexAxisValueFormatter(test)
            val position = XAxisPosition.TOP
            xAxisTop.position = position`
    
    opened by Ana204 0
  • StackedBarChart rounded corners on each section

    StackedBarChart rounded corners on each section

    I am trying to achieve below like stacked bar chart.

    I can do rounded corners for the whole bar by using rounded corner renderer but I want to make rounded corner each section.

    Screenshot 2022-11-16 at 11 17 28 PM

    Thanks!

    opened by Balaji-Android 0
  • Floating bars above x axis

    Floating bars above x axis

    Hi I was using MPAndroidChart for a bar chart representation in android. I faced a bug where the bars are floating above the X- Axis.

    Kindly provide the helping hand to figure it out.

    Thanks in advan Screenshot_20221109_140317 ce.

    opened by srig844 1
  • Gh

    Gh

    Summary

    Expected Behavior

    Possible Solution

    Device (please complete the following information):

    • Device: [e.g. Google Pixel]
    • Android Version [e.g. 7.0]
    • Library Version (e.g. 3.1.0-alpha)

    Additional Context

    ADD A REWARD using Speed to SOLVE this issue QUICKLY and SUPPORT this project.

    opened by Rathnayaka1988 0
  • PieChart touch area for rotation is outside of chart

    PieChart touch area for rotation is outside of chart

    Summary

    I have made 3 concentric pie charts - the inside one (no hole) responds to touches on the chart. The middle and outer ones (with successively larger holes to expose the inner one) have successively further offsets for touch - touching on them directly does not rotate them; I have to trial-and-error to find the place outside of them that will respond to touch.)

    Expected Behavior

    I would expect the pie charts with holes to respond to touch on the slices themselves.

    Possible Solution Is it possible that the hole is creating a corresponding offset for the touch area? Is there some way to rein this "slop" back in? Some setting that affects the offset of the touch area?

    Device (please complete the following information):

    System Information:  
     manufacturer: onn 
     model: 100026191 
     system version: 30 
     system versionRelease: 11
    

    and

    System Information:  
     manufacturer: KYOCERA 
     model: E6820TM 
     system version: 23 
     system versionRelease: 6.0.1
    

    Using library version implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'

    Additional Context

    My code for this is not a small test-case to post publicly, but I have downloaded another's example of concentric pie charts, compiled and run it with the same result. His is here: https://github.com/elatoskinas/AndroidChartTests (using the "Pie Charts" example, you will note that even a single pie chart with a hole exhibits this offset touch area behavior.)

    ADD A REWARD using Speed to SOLVE this issue QUICKLY and SUPPORT this project.

    opened by estrnod 2
Releases(v3.1.0)
  • v3.1.0(Mar 20, 2019)

    About

    This mostly includes bug fixes, but with a few notable differences. The biggest change is bumping MPAndroidChart's minSdkVersion to 14. If you have a lower version, you should stop supporting it and go up to 14 as well.

    Please see the current distribution usages, as less than 1% of Android devices are running versions 15 and lower now.

    Breaking Changes

    • minSdkVersion has been bumped to 14, read the above.
    • Easing class has been simplified, old methods of getting easing functions are DEPRECATED (35c9fc937ecda0dd2eb1a7b879aa869a48bfad3d)
    • Chart.saveToGallery(name, quality) now saves as a PNG instead of JPG (d67ea48)

    Additions

    • Upgraded project to androidX, maven upgraded to 2.1, gradle upgraded to 4.6, android gradle to 3.2.1, android build tools to 28.0.3
    • Example project has been refreshed (d67ea481af1e8528c617dfd404d0c7827b0134b2, 5030b36c86cfa2d076bb6b86fa8fcb37ce58557f)
    • Grid lines can be drawn behind or infront of data (c97b8d531d5584b767d0587805c1c95018cf92d6)
    • Can use pie slice color for value line color (1e6e58d2c026be332d6756b04d85b33cd3d36c2b)
    • BarChart supports gradient colored bars (e4ba3cdc20555b5f7cd793e614ee13406a7605ec)

    Fixes

    • Zoom animations fixed (6c54f0b0a91ca87fe39dd63d9095e4f55d6c59ff)
    • Many rendering bugs fixed (43ae497ecf7427587687945496c6a70e65f01fcb, aee6058dbb74f4eb1aae8e88c7562d28a91e1e1c, 92c14db5b4de4efd43c9fd74361886b92111ca9f, 89436221db3d83991f9ecd830f871d4ce7da47a4)
    • Copying data sets fixed (7abc9cd6696f78c77068ffc278793594b33497fe)
    Source code(tar.gz)
    Source code(zip)
  • v3.1.0-alpha(Oct 29, 2018)

    Pre-Release Disclaimer

    This is a pre-release, which means it's not fully tested. However, many bugs have still been fixed and I highly recommend that you update anyway to get those latest changes. Please open an issue if you are still running into issues with this release so they can be patched up for the final 3.1 release!

    About

    This mostly includes bug fixes, but with a few notable differences. The biggest change is bumping MPAndroidChart's minSdkVersion to 14. If you have a lower version, you should stop supporting it and go up to 14 as well.

    Please see the current distribution usages, as less than 1% of Android devices are running versions 15 and lower now.

    Breaking Changes

    • minSdkVersion has been bumped to 14, read the above.
    • Easing class has been simplified, old methods of getting easing functions are DEPRECATED (35c9fc937ecda0dd2eb1a7b879aa869a48bfad3d)
    • Chart.saveToGallery(name, quality) now saves as a PNG instead of JPG (d67ea48)

    Additions

    • Upgraded project to androidX, maven upgraded to 2.1, gradle upgraded to 4.6, android gradle to 3.2.1, android build tools to 28.0.3
    • Example project has been refreshed (d67ea481af1e8528c617dfd404d0c7827b0134b2, 5030b36c86cfa2d076bb6b86fa8fcb37ce58557f)
    • Grid lines can be drawn behind or infront of data (c97b8d531d5584b767d0587805c1c95018cf92d6)
    • Can use pie slice color for value line color (1e6e58d2c026be332d6756b04d85b33cd3d36c2b)
    • BarChart supports gradient colored bars (e4ba3cdc20555b5f7cd793e614ee13406a7605ec)

    Fixes

    • Zoom animations fixed (6c54f0b0a91ca87fe39dd63d9095e4f55d6c59ff)
    • Many rendering bugs fixed (43ae497ecf7427587687945496c6a70e65f01fcb, aee6058dbb74f4eb1aae8e88c7562d28a91e1e1c, 92c14db5b4de4efd43c9fd74361886b92111ca9f, 89436221db3d83991f9ecd830f871d4ce7da47a4)
    • Copying data sets fixed (7abc9cd6696f78c77068ffc278793594b33497fe)
    Source code(tar.gz)
    Source code(zip)
  • v3.0.3(Nov 29, 2017)

  • v3.0.2(Mar 23, 2017)

  • v3.0.1(Nov 17, 2016)

  • v3.0.0(Oct 19, 2016)

    This is a major release, with a few breaking changes. So please pay attention.

    Updates:

    • The Integer x-index is dead. Intoducing: x-values (float). Each entry now has an x and a y.
    • Pie/radar charts do not have a concept of X index anymore
    • Unified XAxis/YAxis features and experience.
    • Unified formatter interfaces for axes.
    • Major refactoring of the Highlight mechanism.
    • Refactored marker mechanism
    • Refactored legend entry mechanism
    • Each dataset can now set its own legend form/size/etc.
    • More demos
    • Many minor bug fixes and improvements

    Breaking changes / how to migrate:

    • All dataset constructors have changed - they do not take an array of x-indices anymore.
    • All entry constructors have changed - they take in an X and a Y.
    • Pie and Radar chart entries now have their own classes. So exchange the Entry classes withPieEntry/RadarEntry
    • If you have any old startAtZeroEnabled calls - these have been deprecated for a long time. Replace them with axisMinimum.
    • In general, all functions that accepted x-indices before, now accept an x-value, so you might have to adjust the names a little bit.
    • Where OnChartValueSelectedListener is implemented, update the onValueSelected interface
    • Replace drawSliceTextEnabled with drawEntryLabelsEnabled
    • If you have a custom scatter shape - implement an IShapeRenderer, and put your rendering code in there
    • If you have a custom marker - consider subclassing MarkerView/MarkerImage or implementing IMarker. There are more options than before now...
    • If you have used barSpace before, move to using barWidth
    Source code(tar.gz)
    Source code(zip)
  • v3.0.0-beta1(Jul 2, 2016)

  • v3.0.0-beta(Jul 1, 2016)

    • Elimination of the "x-index" concept (each Entry now has a float x- and y-coordinate)
    • Change of the Entry constructor from Entry(float y, int xIndex) to Entry(float x, float y)
    • XAxis and YAxis concept is now similar (XAxis no longer represented by Strings)
    • Separation of the Realm.io support to a separate repository
    • Bugfixes and stability improvement
    • Many more...

    Currently, the documentation is not up to date and still refers to versions prior to 3.0 - please have a look a the example project to figure out how the new API works. An update of the docs will follow soon.

    Please also note that this is a "beta" release that might contain bugs that require fixing. A stable release 3.0 will be out within the next few weeks. If you are certain that you discovered a new issue with this new version, please let me know.

    Source code(tar.gz)
    Source code(zip)
  • v2.2.5(May 27, 2016)

    • New: Horizontal cubic bezier lines for Line chart (through mode property)
    • New: Allow transparent color in circle hole color (Line chart)
    • New: circleHoleRadius property for more control over line chart circles
    • New: PieChart values outside of chart (connected with lines)
    • New: highlightFullBar for highlighting all values on an x-index at once
    • New: Allow setting xVals on existing Data objects
    • New: Allow bubble sizes to not be normalized against the dataset max
    • New: Added material color template
    • New: Flag to control whether we draw a limit line's labels
    • New: Exploded the Legend-Position enum to support more combinations
    • New: Allow drawing borders for bars in a Bar chart
    • Improved: Highlighting when multiple values on x-index present (bubble chart, combined chart)
    • Fixed: We are now taking into account the extra offsets for Pie/Radar chart view
    • Fixes regarding MarkerView
    • Improvements to Demo, now keeping dataset styling when changin dataset size
    • General bugfixes
    Source code(tar.gz)
    Source code(zip)
  • v2.2.4(Mar 31, 2016)

  • v2.2.3(Feb 28, 2016)

  • v2.2.2(Feb 10, 2016)

    • Support for setting different colors for value-text
    • Realm.io support related bugfixes
    • Introducing a zero-line, which can be configured separately from the grid lines of the YAxis
    • Minor other bugfixes
    Source code(tar.gz)
    Source code(zip)
  • v2.2.0(Jan 18, 2016)

    • Plotting data directly from Realm.io mobile data base
    • Realm.io tutorial
    • Introducing DataSet interfaces (e.g. ILineDataSet) for creating custom DataSets
    • Bugfixing in HorizontalBarChart
    • Bugfixing concerning stacked-bars
    • Rotated XAxis labels fixes
    • General bugfixes
    Source code(tar.gz)
    Source code(zip)
  • v2.1.6(Nov 2, 2015)

  • v2.1.5(Oct 11, 2015)

  • v2.1.4(Sep 20, 2015)

    • PieChart and HorizontalBarChart now support MarkerView
    • Dashed highlight-lines now possible
    • Introducing FillFormatter for individual LineDataSets
    • Introducing XAxisValueFormatter for custom XAxis label formatting
    • Introducing YAxisValueFormatter for custom YAxis label formatting
    • Formatter package name changed (from utils to formatter)
    • Documentation wiki improvements
    • General improvements
    • General bugfixes
    Source code(tar.gz)
    Source code(zip)
    mpandroidchartlibrary-2-1-4.jar(497.55 KB)
  • v2.1.3(Jul 31, 2015)

  • v2.1.2(Jul 24, 2015)

  • v2.1.1(Jul 20, 2015)

  • v2.1.0(May 5, 2015)

  • v2.0.9(Apr 7, 2015)

  • v2.0.8(Mar 13, 2015)

  • v2.0.7(Mar 1, 2015)

  • v2.0.2(Feb 28, 2015)

  • v2.0.1(Feb 27, 2015)

  • v2.0.0(Feb 21, 2015)

    What's new:

    • Dual YAxis (you can now choose which axis you want your DataSet to plot against, either LEFT or RIGHT)
    • CombinedChart (bar-, line-, scatter- and candle-data can now be displayed together in one chart)
    • Removed nineoldandroids-library
    • and many more...

    Not working yet:

    • HorizontalBarChart
    • Grouped BarChart highlighting
    • CombinedChart highlighting
    • lot's of other stuff :-)

    The ReadMe.md documentation is currently outdated. Please refer to the example-project.

    Please note that this is only a pre-release and absolutely not bug free and feature complete. Let me know what you think and inform me about bugs / issues.

    Source code(tar.gz)
    Source code(zip)
    mpchartlibrary-2-0-0-beta.jar(1.10 MB)
  • v1.7.4(Nov 18, 2014)

  • v1.7.3(Oct 30, 2014)

  • v1.7.2(Oct 22, 2014)

  • v1.7.1(Oct 17, 2014)

Owner
Philipp Jahoda
Passionate developer. Startup guy. Tech lover.
Philipp Jahoda
Flutter chart library contains depth charts supporting various indicators and zooming

flutter_k_chart 介绍 一个仿火币的flutter图表库包含深度图,支持各种指标及放大缩小、平移等操作 webdemo演示 Demo v0.1.0:下载 APK 演示 简单用例 1.在 pubspec.yaml 中添加依赖 本项目数据来自火币openApi,火币的接口可能需要翻墙,接口

gwh 257 Oct 21, 2022
Sliver bar chart - A package that supports Bar Chart in a Flutter Sliver

Sliver bar chart - A package that supports Bar Chart in a Flutter Sliver. This Package allows us to add Bar Chart in Sliver and sets a Bar Chart as a Header on Slivers Scroll.

MindInventory 19 Oct 11, 2022
Flutter GraphView is used to display data in graph structures. It can display Tree layout, Directed and Layered graph. Useful for Family Tree, Hierarchy View.

GraphView Get it from | Flutter GraphView is used to display data in graph structures. It can display Tree layout, Directed and Layered graph. Useful

Nabil Mosharraf 320 Nov 20, 2022
A simple candlestick chart for flutter. Supports smooth scroll and zoom

simple_candlestick_chart A simple candlestick chart for flutter. Supports smooth

7c00 14 Oct 17, 2022
Elegant OHLC Candlestick and Trade Volume charts for @Flutter

flutter_candlesticks Elegant OHLC Candlestick and Trade Volume charts for Flutter Usage Install for Flutter with pub. Property Description data Requir

Trent Piercy 399 Nov 15, 2022
kg_charts icon library. At present, there are only radar charts

kg_charts icon library. At present, there are only radar charts. Other types of charts may be added later

zhonghua 10 Oct 25, 2022
Flutter Pie chart with animation

Pie Chart This Flutter package provides a Pie Chart Widget with cool animation. Live Demo: https://apgapg.github.io/pie_chart/ ?? Try LIVE Demo Live D

Ayush P Gupta 156 Sep 6, 2022
Animated radial and pie charts for Flutter

Flutter Circular Chart A library for creating animated circular chart widgets with Flutter, inspired by Zero to One with Flutter. Overview Create easi

Victor Choueiri 382 Oct 17, 2022
Basic radar chart for Flutter

flutter_radar_chart Animated radar chart for Flutter inspired by The Python Graph Gallery (https://python-graph-gallery.com/radar-chart/). Follow the

Dan Panaite 43 Nov 15, 2022
Tiny charts 🤏 - Sparkline charts for fast data visualization on Flutter apps

Tiny charts ?? - Sparkline charts for fast data visualization on Flutter apps

rows 13 Oct 18, 2022
A library to draw fantastic bar charts race in Flutter

bar_chart_race The first library to draw fantastic bar charts race in Flutter Usage Let's get started add the dependencies to your app: dependencies:

Mimene Younes 6 Jun 24, 2022
A beautiful bezier line chart widget for flutter that is highly interactive and configurable.

Bezier Chart A beautiful bezier line chart widget for flutter that is highly interactive and configurable. Features Multi bezier lines Allow numbers a

Aeyrium 424 Nov 18, 2022
Animated line chart for flutter

fl_animated_linechart An animated chart library for flutter. Support for datetime axis Multiple y axis, supporting different units Highlight selection

null 51 Sep 25, 2022
Android GraphView is used to display data in graph structures.

GraphView Android GraphView is used to display data in graph structures. Overview The library can be used within RecyclerView and currently works with

Block & Block 988 Nov 14, 2022
Charts Library for Flutter, written in Dart with Flutter.

Table of Contents New in the current release Illustration of the new "iterative auto layout" feature Autolayout step 1 Autolayout step 2 Autolayout st

Milan Zimmermann 221 Sep 13, 2022
This project is used to introduce the use of flutter canvas, include draw chart, clip image's path and draw progress indicator.

flutter_canvas This project is used to introduce the use of flutter canvas, include draw chart, clip image's path and draw progress indicator. draw ch

YouXianMing 9 Oct 27, 2022
Maybe this is the best k chart in Flutter.Support drag,scale,long press,fling.And easy to use.

k_chart Maybe this is the best k chart in Flutter.Support drag,scale,long press,fling.And easy to use. display image gif Getting Started Install depen

OpenFlutter 326 Nov 21, 2022
Stores and manages the data of your week expenses with a chart

personal_expenses_app A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you st

null 1 Dec 26, 2021
A scrollable time chart in Flutter.

time_chart An amazing time chart in Flutter. Chart Types TimeChart AmountChart Getting Started 1 - Depend on it Add it to your package's pubspec.yaml

Minseong Kim 26 Oct 28, 2022