Skip to content

Commit 1485cdc

Browse files
authored
Merge pull request PhilJay#3451 from davidgoli/add-grid-lines-on-top-of-data
Add option to draw limit lines on top of data
2 parents 53de181 + c97b8d5 commit 1485cdc

File tree

2 files changed

+34
-3
lines changed

2 files changed

+34
-3
lines changed

MPChartLib/src/main/java/com/github/mikephil/charting/charts/BarLineChartBase.java

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,9 +212,14 @@ protected void onDraw(Canvas canvas) {
212212
mAxisRendererLeft.renderAxisLine(canvas);
213213
mAxisRendererRight.renderAxisLine(canvas);
214214

215-
mXAxisRenderer.renderGridLines(canvas);
216-
mAxisRendererLeft.renderGridLines(canvas);
217-
mAxisRendererRight.renderGridLines(canvas);
215+
if (mXAxis.isDrawGridLinesBehindDataEnabled())
216+
mXAxisRenderer.renderGridLines(canvas);
217+
218+
if (mAxisLeft.isDrawGridLinesBehindDataEnabled())
219+
mAxisRendererLeft.renderGridLines(canvas);
220+
221+
if (mAxisRight.isDrawGridLinesBehindDataEnabled())
222+
mAxisRendererRight.renderGridLines(canvas);
218223

219224
if (mXAxis.isEnabled() && mXAxis.isDrawLimitLinesBehindDataEnabled())
220225
mXAxisRenderer.renderLimitLines(canvas);
@@ -231,6 +236,15 @@ protected void onDraw(Canvas canvas) {
231236

232237
mRenderer.drawData(canvas);
233238

239+
if (!mXAxis.isDrawGridLinesBehindDataEnabled())
240+
mXAxisRenderer.renderGridLines(canvas);
241+
242+
if (!mAxisLeft.isDrawGridLinesBehindDataEnabled())
243+
mAxisRendererLeft.renderGridLines(canvas);
244+
245+
if (!mAxisRight.isDrawGridLinesBehindDataEnabled())
246+
mAxisRendererRight.renderGridLines(canvas);
247+
234248
// if highlighting is enabled
235249
if (valuesToHighlight())
236250
mRenderer.drawHighlighted(canvas, mIndicesToHighlight);

MPChartLib/src/main/java/com/github/mikephil/charting/components/AxisBase.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,11 @@ public abstract class AxisBase extends ComponentBase {
112112
*/
113113
protected boolean mDrawLimitLineBehindData = false;
114114

115+
/**
116+
* flag indicating the grid lines layer depth
117+
*/
118+
protected boolean mDrawGridLinesBehindData = true;
119+
115120
/**
116121
* Extra spacing for `axisMinimum` to be added to automatically calculated `axisMinimum`
117122
*/
@@ -444,6 +449,18 @@ public boolean isDrawLimitLinesBehindDataEnabled() {
444449
return mDrawLimitLineBehindData;
445450
}
446451

452+
/**
453+
* If this is set to false, the grid lines are draw on top of the actual data,
454+
* otherwise behind. Default: true
455+
*
456+
* @param enabled
457+
*/
458+
public void setDrawGridLinesBehindData(boolean enabled) { mDrawGridLinesBehindData = enabled; }
459+
460+
public boolean isDrawGridLinesBehindDataEnabled() {
461+
return mDrawGridLinesBehindData;
462+
}
463+
447464
/**
448465
* Returns the longest formatted label (in terms of characters), this axis
449466
* contains.

0 commit comments

Comments
 (0)