diff --git a/build.gradle b/build.gradle index ba034dfe5..e89620576 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,7 @@ buildscript { repositories { mavenCentral() + jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.3' diff --git a/src/main/java/com/jjoe64/graphview/series/PointsGraphSeries.java b/src/main/java/com/jjoe64/graphview/series/PointsGraphSeries.java index 2ec74a526..55d8e8cf3 100644 --- a/src/main/java/com/jjoe64/graphview/series/PointsGraphSeries.java +++ b/src/main/java/com/jjoe64/graphview/series/PointsGraphSeries.java @@ -93,6 +93,11 @@ private final class Styles { Shape shape; } + /** + * Sets the limit for highest value to turn red + */ + private double LIMIT; + /** * wrapped styles */ @@ -222,7 +227,13 @@ public void draw(GraphView graphView, Canvas canvas, boolean isSecondScale) { if (mCustomShape != null) { mCustomShape.draw(canvas, mPaint, endX, endY, value); } else if (mStyles.shape == Shape.POINT) { - canvas.drawCircle(endX, endY, mStyles.size, mPaint); + if (value.getY() >= LIMIT) { + mPaint.setColor(Color.RED); + canvas.drawCircle(endX, endY, mStyles.size, mPaint); + mPaint.setColor(getColor()); + } else { + canvas.drawCircle(endX, endY, mStyles.size, mPaint); + } } else if (mStyles.shape == Shape.RECTANGLE) { canvas.drawRect(endX-mStyles.size, endY-mStyles.size, endX+mStyles.size, endY+mStyles.size, mPaint); } else if (mStyles.shape == Shape.TRIANGLE) { @@ -301,6 +312,16 @@ public void setShape(Shape s) { mStyles.shape = s; } + /** + * This sets the limit of the data points, + * changing data points above the LIMIT to red. + * + * @param limitIn limit to be set + */ + public void setLimit(double limitIn) { + LIMIT = limitIn; + } + /** * Use a custom handler to draw your own * drawing for each data point.