Skip to content

Commit c28b41b

Browse files
committed
Work on highlighting
1 parent 858600d commit c28b41b

7 files changed

Lines changed: 42 additions & 16 deletions

File tree

MPChartExample/src/com/xxmassdeveloper/mpchartexample/CombinedChartActivity.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import com.xxmassdeveloper.mpchartexample.notimportant.DemoBase;
3737

3838
import java.util.ArrayList;
39+
import java.util.Arrays;
3940

4041
public class CombinedChartActivity extends DemoBase {
4142

@@ -137,7 +138,9 @@ private BarData generateBarData() {
137138

138139
for (int index = 0; index < itemcount; index++) {
139140
entries1.add(new BarEntry(0, getRandom(25, 25)));
140-
entries2.add(new BarEntry(0, getRandom(25, 25)));
141+
142+
// stacked
143+
entries2.add(new BarEntry(0, new float[]{getRandom(13, 12), getRandom(13, 12)}));
141144
}
142145

143146
BarDataSet set1 = new BarDataSet(entries1, "Bar 1");
@@ -147,7 +150,7 @@ private BarData generateBarData() {
147150
set1.setAxisDependency(YAxis.AxisDependency.LEFT);
148151

149152
BarDataSet set2 = new BarDataSet(entries2, "Bar 2");
150-
set2.setColor(Color.rgb(61, 165, 255));
153+
set2.setColors(new int[]{Color.rgb(61, 165, 255), Color.rgb(23, 197, 255)});
151154
set2.setValueTextColor(Color.rgb(61, 165, 255));
152155
set2.setValueTextSize(10f);
153156
set2.setAxisDependency(YAxis.AxisDependency.LEFT);

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,6 @@ public BarData getBarData() {
187187
return mData;
188188
}
189189

190-
191190
/**
192191
* Adds half of the bar width to each side of the x-axis range in order to allow the bars of the barchart to be
193192
* fully displayed.

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import com.github.mikephil.charting.formatter.ValueFormatter;
3838
import com.github.mikephil.charting.highlight.ChartHighlighter;
3939
import com.github.mikephil.charting.highlight.Highlight;
40+
import com.github.mikephil.charting.highlight.Highlighter;
4041
import com.github.mikephil.charting.interfaces.dataprovider.ChartInterface;
4142
import com.github.mikephil.charting.interfaces.datasets.IDataSet;
4243
import com.github.mikephil.charting.listener.ChartTouchListener;
@@ -162,7 +163,7 @@ public abstract class Chart<T extends ChartData<? extends IDataSet<? extends Ent
162163
*/
163164
protected DataRenderer mRenderer;
164165

165-
protected ChartHighlighter mHighlighter;
166+
protected Highlighter mHighlighter;
166167

167168
/**
168169
* object that manages the bounds and drawing constraints of the chart
@@ -1446,7 +1447,7 @@ public void setRenderer(DataRenderer renderer) {
14461447
mRenderer = renderer;
14471448
}
14481449

1449-
public ChartHighlighter getHighlighter() {
1450+
public Highlighter getHighlighter() {
14501451
return mHighlighter;
14511452
}
14521453

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public CombinedChart(Context context, AttributeSet attrs, int defStyle) {
7373
protected void init() {
7474
super.init();
7575

76-
setHighlighter(new CombinedHighlighter(this));
76+
setHighlighter(new CombinedHighlighter(this, this));
7777

7878
// Old default behaviour
7979
setHighlightFullBarEnabled(true);

MPChartLib/src/main/java/com/github/mikephil/charting/highlight/ChartHighlighter.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
/**
1515
* Created by Philipp Jahoda on 21/07/15.
1616
*/
17-
public class ChartHighlighter<T extends BarLineScatterCandleBubbleDataProvider> {
17+
public class ChartHighlighter<T extends BarLineScatterCandleBubbleDataProvider> implements Highlighter {
1818

1919
/**
2020
* instance of the data-provider
@@ -25,13 +25,7 @@ public ChartHighlighter(T chart) {
2525
this.mChart = chart;
2626
}
2727

28-
/**
29-
* Returns a Highlight object corresponding to the given x- and y- touch positions in pixels.
30-
*
31-
* @param x
32-
* @param y
33-
* @return
34-
*/
28+
@Override
3529
public Highlight getHighlight(float x, float y) {
3630

3731
float xVal = (float) getValsForTouch(x, y).x;

MPChartLib/src/main/java/com/github/mikephil/charting/highlight/CombinedHighlighter.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.github.mikephil.charting.data.ChartData;
44
import com.github.mikephil.charting.data.CombinedData;
55
import com.github.mikephil.charting.data.DataSet;
6+
import com.github.mikephil.charting.interfaces.dataprovider.BarDataProvider;
67
import com.github.mikephil.charting.interfaces.datasets.IDataSet;
78
import com.github.mikephil.charting.interfaces.dataprovider.BarLineScatterCandleBubbleDataProvider;
89
import com.github.mikephil.charting.utils.SelectionDetail;
@@ -13,10 +14,22 @@
1314
/**
1415
* Created by Philipp Jahoda on 12/09/15.
1516
*/
16-
public class CombinedHighlighter extends ChartHighlighter<BarLineScatterCandleBubbleDataProvider> {
17+
public class CombinedHighlighter extends ChartHighlighter<BarLineScatterCandleBubbleDataProvider> implements Highlighter {
1718

18-
public CombinedHighlighter(BarLineScatterCandleBubbleDataProvider chart) {
19+
protected BarHighlighter barHighlighter;
20+
21+
public CombinedHighlighter(BarLineScatterCandleBubbleDataProvider chart, BarDataProvider barChart) {
1922
super(chart);
23+
barHighlighter = new BarHighlighter(barChart);
24+
}
25+
26+
@Override
27+
public Highlight getHighlight(float x, float y) {
28+
29+
Highlight h1 = super.getHighlight(x, y);
30+
Highlight h2 = barHighlighter.getHighlight(x, y);
31+
32+
return h1;
2033
}
2134

2235
@Override
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.github.mikephil.charting.highlight;
2+
3+
/**
4+
* Created by philipp on 10/06/16.
5+
*/
6+
public interface Highlighter {
7+
8+
/**
9+
* Returns a Highlight object corresponding to the given x- and y- touch positions in pixels.
10+
*
11+
* @param x
12+
* @param y
13+
* @return
14+
*/
15+
Highlight getHighlight(float x, float y);
16+
}

0 commit comments

Comments
 (0)