Coder Social home page Coder Social logo

eazegraph's People

Contributors

aborgna avatar fredpedersen avatar j4velin avatar johnjohndoe avatar ming13 avatar mustafakayya avatar pareeohnos avatar paulroehr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eazegraph's Issues

Themed graph

How declare attrs of graph in style.xml?
I want decrare this attrs in style.xml and dynamically create charts with this attrs

    app:egUseCubic="true"
    app:egUseOverlapFill="true"
    app:egCurveSmoothness="0.4"
    app:egIndicatorColor="#FE6DA8"
    app:egLegendHeight="40dp"
    app:egShowStandardValue="true"

setOnUpdateListener missing

There used to be a BaseChart.OnUpdateListener in some previous version. Where can I find similar functionlaity now

Unable to add dependency using gradle

My build.gradle contains the following:

repositories {
mavenCentral()
maven {
url 'https://oss.sonatype.org/content/groups/public'
}
}

dependencies {
// Charting library
compile 'com.github.blackfizz:eazegraph:1.0.10-SNAPSHOT@aar'
}

Error:A problem occurred configuring project ':app'.> Could not resolve all dependencies for configuration ':app:_debugCompile'.

Could not find com.github.blackfizz:eazegraph:1.0.10-SNAPSHOT.

Legend scrolls to pie slice when clicked

Am using the pie chart in a view pager so the rotation can't work for me. Was wondering if I click click on a pie slice and the legend can rotate there. Thanks

Get info of clicked bar

Hello,diogobernardino !!! Thank you for library, it is awesome. I was wondering if i could get info (like its label and value) about the bar i clicked.

like that
default

thank you in advance!

Remove lagend title and arrow

How can I remove legendLabel and Arrow icon from Bottom of PIE chart ?
I don't want to have startup Animation in PIE chart , Is there anyway to disable it ?

Error inflating class org.eazegraph.lib.charts.PieChart

        LayoutInflater inf = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        LinearLayout ll = (LinearLayout) inf.inflate(R.layout.layout_pie_chart, null, false);

layout_pie_chart.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <org.eazegraph.lib.charts.PieChart xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/pie_chart"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:padding="8dp"
        app:egLegendTextSize="18sp"
        app:egUsePieRotation="true"
        app:egValueTextSize="36sp" />
</LinearLayout>

Error

Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class org.eazegraph.lib.charts.PieChart

Inflate in AsyncTask

Animation Rendering Problem

The repository works great.
But on some of the android devices running Lollipop (4 out of 9 devices), the initial rendering of animation of PieChart isn't done in a proper manner.
The animation blinks while rendering.

Add formatted value option to charts

For example I set barmodel value to 1561456.11, but I want to show to user as 156,145,6.11.
Provide String value in constructor, that will be shown to user.

Bar heights

Is there any way, or any easy way I can implement a way of specifying a minimum and maximum height for bars in a bar chart?

The data that I am rendering is always going to be between two values, but the app dynamically loads the data every second so when the first value is loaded it currently appears full height given there is no other data to compare to. The data is a temperature reading as well, so if it doesn't fluctuate a large amount, then the bars will continue to be full height until it spikes a lot.

What I want to do is have the height of the bar be relative to the min and max values I have rather than be adjusted according to all of the data. How could this be implemented?

Maven Central

Is there any chance to see this library at the Central repo, not only at the snapshots one?

[Feature request] Y-axis labels and grid

Are there any plans to add y-axis labels and a drawing grid to this excellent library? By grid I mean a bunch of horizontal lines that indicate the value of the bar/line at certain labeled points on the y-axis.

Did not find this attribute

No resource identifier found for attribute 'egIndicatorLineColor' in package

when I add this attribute in layout xml
I got above error,how can I solve this issue,thanks

Optional legend

It would be nice to have a way to prevent the Legend object to be added to the charts. I need the pie chart without any legend but can't get rid of that triangle ;)

Overlap fill bug

I've found some strange behaviour with the setUseOverlapFill(boolean) method for the ValueLineChart. If only one serie is added to the ValueLineSeries it always fills the area under the graph, even when mUseOverlapFill is set to false.

I don't know if this is intended behaviour, but it feels kind of strange. I believe it can be fixed in line 801 of the ValueLineChart class by removing the seriesCount check:

if (mUseOverlapFill || seriesCount == 1) {
    path.lineTo(mGraphWidth, usableGraphHeight);
    path.lineTo(0, usableGraphHeight);
    path.lineTo(firstX, firstY);
}

Vertical barchart

Hi. Any ability to display barchart in Vertical mode?

[-------------------------------]
[------------------]
[------------------------------]

Instead of
_
I
I _
I I
I I
I I
I_ I_

draw a line without a 0 minimum

HI Paul,

we are using your chart, but still have a problem to start a drawing from the middle without a 0 point.

I want to start a line from 1000 point not from 0 to 1000

how to do this? please help

setValueTextColor() & setLegendColor() unfunctional

e.g:
pieChart.setValueTextColor(Color.parseColor("#ffffff"));
pieChart.setLegendColor(Color.parseColor("#ffffff"));

They don't work. Even calling pieChart.update(); doesn't update the colours.
Calling these functions before pieChart.startAnimation(); also renders the functions unresponsive.

Long text in legend by piechart

Hey,

I'd like to display dynamically some big textes (20-30 Chars) in piecharts legend. At the moment I get only one line for legend and because of that some characters are occasionally unvisible.

I have tried 2 solutions:

  1. set programatically the correspondent textview to "singleline=false" and use line separator.
    But I didn't find this textview.
  2. get length of current label in "onItemFocusChanged" and then set correspondent textsize to legend:
    pieChart.setLegendTextSize(size);
    pieChart.reloadView();
    But it didn't change anything..

p.s.Thanks for this beautiful library!

Line chart interval values of Y axis are not the same & curve height not correct if egUseCubic is true

I am using the latest non-interactive version of EazeGraph, which I think is really simple and amazing. But I need some help on the following issues.


From the picture above, we can tell that the Y values are 0, 1, 3, 5, instead of 0, 2, 4, 6. And the highest point of the red curve is a little bit lower than expected(the actual value is 7.5).

Besides, when app:egUseCubic="true", this deviation becomes larger as the value of app:egCurveSmoothness goes higher. Below is a graph whose app:egCurveSmoothness is 0.4.
qq 20160603202007

Here is a part of the XML layout file:

    <org.eazegraph.lib.charts.ValueLineChart
        android:id="@+id/chart"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        app:egUseCubic="true"
        app:egCurveSmoothness="0.4"
        app:egXAxisStroke="0.1dp" />

So is there anything I missed to do this right?
Thank you in advance.

Barchart in HorizontalScrollView issue

When I am using eazegraph barchart inside horizontalScrollView than graph is not shown.My requirement is that I am using graph inside viewpager so will u solve this problme...

Eclipse support

Provide .jar file or eclipse project to incldue as dependency

zooming problem in LineChart

Hello Paul.
I'm using your chart.I have one question about LineChart.is it a possible to disable(remove) zooming action in LineChart?
thanks

Resource entry ic_launcher is already defined

I got some error like this:
res\drawable-hdpi-v4\ic_launcher.png:0: error: Resource entry ic_launcher is already defined.
res\drawable-hdpi\ic_launcher.png:0: Originally defined here.
res\drawable-mdpi-v4\ic_launcher.png:0: error: Resource entry ic_launcher is already defined.
res\drawable-mdpi\ic_launcher.png:0: Originally defined here.
res\drawable-xhdpi-v4\ic_launcher.png:0: error: Resource entry ic_launcher is already defined.
res\drawable-xhdpi\ic_launcher.png:0: Originally defined here.
res\drawable-xxhdpi-v4\ic_launcher.png:0: error: Resource entry ic_launcher is already defined.
res\drawable-xxhdpi\ic_launcher.png:0: Originally defined here.

Should you rename the 'ic_launcher'?

set X axis range

Hello,

how can I set X axis range. I want to set it fixed, now it is dynamic.

or how can i show graph only in specified location for example from 1 to 6 point. Because then, i can set 0 point to my min, and x point to my max and show graph from 1 to (x-1) point.

Best regards. Eliah.

Crash when pinch zooming the graph

My graph is crashing when i pinch zoom it without the property set in xml:

    app:egShowValueIndicator="false"

and if i set it to true it suddenly stops crashing.
And i want to stop pinch zoom what is the xml or java property to stop that ? I have tried touchListener to null but it is not effecting the situation.

LegendLabel does not appear BarModel

Hello,
I add bars but the legends do not appear yet I use the appropriate constructor finally in my opinion.
`arChart mBarChart = (BarChart)dialog.getCustomView().findViewById(R.id.barchart);

    mBarChart.addBar(new BarModel("Moudjames23", 2.3f, 0xFF123456));

`
Thank you in advance for your answers.

[Feature request] Highlight a bar in the (stacked)barcharts

I'm trying to use the setOnBarClickedListener(IOnBarClickedListener) method to highlight a bar by changing its colour. However, the StackedBarChart only redraws after moving the graph. Would it be possible to redraw the bar after the click without moving the graph?

NPE in ValueLineChart

org.eazegraph.lib.charts.ValueLineChart.findNearestPoint (ValueLineChart.java:1358)
org.eazegraph.lib.charts.ValueLineChart.onGraphOverlayTouchEvent (ValueLineChart.java:1341)
org.eazegraph.lib.charts.BaseChart$GraphOverlay.onTouchEvent (BaseChart.java:497)

Set max value for Y axis

Hey, first of all great work, loving the library. So the thing is right now, I can't find a way to set maximum value for Y axis. Is there any way i can achieve that?

Error happens when Zoom in or out.

Hey there,

I met a problem when I try to zoom out the chart. Seems I did not pass the touch event correctly.
How do I pass value to mFocusedPoint so that I can solve this error...the action was 2 fingers zooming out

java.lang.NullPointerException
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at org.eazegraph.lib.charts.ValueLineChart.calculateValueTextHeight(ValueLineChart.java:980)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at org.eazegraph.lib.charts.ValueLineChart.access$800(ValueLineChart.java:57)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at org.eazegraph.lib.charts.ValueLineChart$4.onScale(ValueLineChart.java:1050)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ScaleGestureDetector.onTouchEvent(ScaleGestureDetector.java:437)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at org.eazegraph.lib.charts.ValueLineChart.onGraphOverlayTouchEvent(ValueLineChart.java:1331)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at org.eazegraph.lib.charts.BaseChart$GraphOverlay.onTouchEvent(BaseChart.java:497)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.View.dispatchTouchEvent(View.java:7713)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2329)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1568)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.app.Activity.dispatchTouchEvent(Activity.java:2458)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.support.v7.internal.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:59)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.support.v7.internal.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:59)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2277)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.View.dispatchPointerEvent(View.java:7893)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:3947)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3826)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3392)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3442)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3411)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3518)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3419)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at
android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3575)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3392)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3442)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3411)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3419)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3392)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5532)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5512)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5483)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5612)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
09-21 12:19:28.687 7458-7458/androidpath.ll.lesleepbc E/AndroidRuntime: at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:176)

Chart edging left

I've run into an unusual issue with the chart I'm rendering. I've got a standard bar chart which is updated by adding one new bar every second. What I've noticed however is that every time a bar is added, the entire chart appears to shift to the left ever so slightly, perhaps 1 px every 2 bar additions. In the long run, this results in the chart being invisible as it is pushed off the side of the screen.

I've tried debugging the code but I'm unable to determine where the issue lies but it is quite a problem.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.