Skip to content

Commit bc7ce8d

Browse files
committed
Merge master
2 parents cf463ca + 493da1d commit bc7ce8d

24 files changed

Lines changed: 1185 additions & 683 deletions

MPChartExample/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ buildscript {
3737
jcenter()
3838
}
3939
dependencies {
40-
classpath 'com.android.tools.build:gradle:1.5.0'
40+
classpath 'com.android.tools.build:gradle:2.0.0'
4141
//classpath 'io.realm:realm-gradle-plugin:0.88.2'
4242
// NOTE: Do not place your application dependencies here; they belong
4343
// in the individual module build.gradle files

MPChartExample/res/menu/bar.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,9 @@
4141
android:id="@+id/actionToggleAutoScaleMinMax"
4242
android:title="Toggle auto scale min/max">
4343
</item>
44+
<item
45+
android:id="@+id/actionToggleBarBorders"
46+
android:title="Show Bar Borders">
47+
</item>
4448

4549
</menu>

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

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,13 @@ public boolean onOptionsItemSelected(MenuItem item) {
127127
mChart.notifyDataSetChanged();
128128
break;
129129
}
130+
case R.id.actionToggleBarBorders: {
131+
for (IBarDataSet set : mChart.getData().getDataSets())
132+
((BarDataSet)set).setBarBorderWidth(set.getBarBorderWidth() == 1.f ? 0.f : 1.f);
133+
134+
mChart.invalidate();
135+
break;
136+
}
130137
case R.id.actionToggleHighlightArrow: {
131138
if (mChart.isDrawHighlightArrowEnabled())
132139
mChart.setDrawHighlightArrow(false);
@@ -182,17 +189,26 @@ public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
182189
xVals.add(xValue);
183190
}
184191

185-
BarDataSet set1 = new BarDataSet(yVals1, "Data Set");
186-
set1.setColors(ColorTemplate.VORDIPLOM_COLORS);
187-
set1.setDrawValues(false);
192+
BarDataSet set1;
193+
194+
if (mChart.getData() != null &&
195+
mChart.getData().getDataSetCount() > 0) {
196+
set1 = (BarDataSet)mChart.getData().getDataSetByIndex(0);
197+
set1.setYVals(yVals1);
198+
mChart.notifyDataSetChanged();
199+
} else {
200+
set1 = new BarDataSet(yVals1, "Data Set");
201+
set1.setColors(ColorTemplate.VORDIPLOM_COLORS);
202+
set1.setDrawValues(false);
188203

189-
ArrayList<IBarDataSet> dataSets = new ArrayList<IBarDataSet>();
190-
dataSets.add(set1);
204+
ArrayList<IBarDataSet> dataSets = new ArrayList<IBarDataSet>();
205+
dataSets.add(set1);
191206

192-
BarData data = new BarData(xVals, dataSets);
207+
BarData data = new BarData(xVals, dataSets);
193208

194-
mChart.setData(data);
195-
mChart.invalidate();
209+
mChart.setData(data);
210+
mChart.invalidate();
211+
}
196212
}
197213

198214
@Override

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

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,13 @@ public boolean onOptionsItemSelected(MenuItem item) {
168168
mChart.notifyDataSetChanged();
169169
break;
170170
}
171+
case R.id.actionToggleBarBorders: {
172+
for (IBarDataSet set : mChart.getData().getDataSets())
173+
((BarDataSet)set).setBarBorderWidth(set.getBarBorderWidth() == 1.f ? 0.f : 1.f);
174+
175+
mChart.invalidate();
176+
break;
177+
}
171178
case R.id.actionToggleHighlightArrow: {
172179
if (mChart.isDrawHighlightArrowEnabled())
173180
mChart.setDrawHighlightArrow(false);
@@ -238,17 +245,26 @@ private void setData(int count, float range) {
238245
xVals.add(value);
239246
}
240247

241-
BarDataSet set1 = new BarDataSet(yVals1, "DataSet");
242-
set1.setBarSpacePercent(35f);
248+
BarDataSet set1;
249+
250+
if (mChart.getData() != null &&
251+
mChart.getData().getDataSetCount() > 0) {
252+
set1 = (BarDataSet)mChart.getData().getDataSetByIndex(0);
253+
set1.setYVals(yVals1);
254+
mChart.notifyDataSetChanged();
255+
} else {
256+
set1 = new BarDataSet(yVals1, "DataSet");
257+
set1.setBarSpacePercent(35f);
243258

244-
ArrayList<IBarDataSet> dataSets = new ArrayList<IBarDataSet>();
245-
dataSets.add(set1);
259+
ArrayList<IBarDataSet> dataSets = new ArrayList<IBarDataSet>();
260+
dataSets.add(set1);
246261

247-
BarData data = new BarData(xVals, dataSets);
248-
data.setValueTextSize(10f);
249-
data.setValueTypeface(mTf);
262+
BarData data = new BarData(xVals, dataSets);
263+
data.setValueTextSize(10f);
264+
data.setValueTypeface(mTf);
250265

251-
mChart.setData(data);
266+
mChart.setData(data);
267+
}
252268
}
253269

254270
@SuppressLint("NewApi")

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

Lines changed: 42 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,13 @@ public boolean onOptionsItemSelected(MenuItem item) {
136136
mChart.notifyDataSetChanged();
137137
break;
138138
}
139+
case R.id.actionToggleBarBorders: {
140+
for (IBarDataSet set : mChart.getData().getDataSets())
141+
((BarDataSet)set).setBarBorderWidth(set.getBarBorderWidth() == 1.f ? 0.f : 1.f);
142+
143+
mChart.invalidate();
144+
break;
145+
}
139146
case R.id.actionToggleHighlight: {
140147
if(mChart.getData() != null) {
141148
mChart.getData().setHighlightEnabled(!mChart.getData().isHighlightEnabled());
@@ -207,30 +214,43 @@ public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
207214
yVals3.add(new BarEntry(val, i));
208215
}
209216

210-
// create 3 datasets with different types
211-
BarDataSet set1 = new BarDataSet(yVals1, "Company A");
212-
// set1.setColors(ColorTemplate.createColors(getApplicationContext(),
213-
// ColorTemplate.FRESH_COLORS));
214-
set1.setColor(Color.rgb(104, 241, 175));
215-
BarDataSet set2 = new BarDataSet(yVals2, "Company B");
216-
set2.setColor(Color.rgb(164, 228, 251));
217-
BarDataSet set3 = new BarDataSet(yVals3, "Company C");
218-
set3.setColor(Color.rgb(242, 247, 158));
219-
220-
ArrayList<IBarDataSet> dataSets = new ArrayList<IBarDataSet>();
221-
dataSets.add(set1);
222-
dataSets.add(set2);
223-
dataSets.add(set3);
224-
225-
BarData data = new BarData(xVals, dataSets);
217+
BarDataSet set1, set2, set3;
218+
219+
if (mChart.getData() != null &&
220+
mChart.getData().getDataSetCount() > 0) {
221+
set1 = (BarDataSet)mChart.getData().getDataSetByIndex(0);
222+
set2 = (BarDataSet)mChart.getData().getDataSetByIndex(1);
223+
set3 = (BarDataSet)mChart.getData().getDataSetByIndex(2);
224+
set1.setYVals(yVals1);
225+
set2.setYVals(yVals2);
226+
set3.setYVals(yVals3);
227+
mChart.notifyDataSetChanged();
228+
} else {
229+
// create 3 datasets with different types
230+
set1 = new BarDataSet(yVals1, "Company A");
231+
// set1.setColors(ColorTemplate.createColors(getApplicationContext(),
232+
// ColorTemplate.FRESH_COLORS));
233+
set1.setColor(Color.rgb(104, 241, 175));
234+
set2 = new BarDataSet(yVals2, "Company B");
235+
set2.setColor(Color.rgb(164, 228, 251));
236+
set3 = new BarDataSet(yVals3, "Company C");
237+
set3.setColor(Color.rgb(242, 247, 158));
238+
239+
ArrayList<IBarDataSet> dataSets = new ArrayList<IBarDataSet>();
240+
dataSets.add(set1);
241+
dataSets.add(set2);
242+
dataSets.add(set3);
243+
244+
BarData data = new BarData(xVals, dataSets);
226245
// data.setValueFormatter(new LargeValueFormatter());
227-
228-
// add space between the dataset groups in percent of bar-width
229-
data.setGroupSpace(80f);
230-
data.setValueTypeface(tf);
231246

232-
mChart.setData(data);
233-
mChart.invalidate();
247+
// add space between the dataset groups in percent of bar-width
248+
data.setGroupSpace(80f);
249+
data.setValueTypeface(tf);
250+
251+
mChart.setData(data);
252+
mChart.invalidate();
253+
}
234254
}
235255

236256
@Override

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

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,11 @@
1717
import com.github.mikephil.charting.components.Legend.LegendForm;
1818
import com.github.mikephil.charting.components.Legend.LegendPosition;
1919
import com.github.mikephil.charting.components.XAxis;
20-
import com.github.mikephil.charting.components.XAxis.XAxisPosition;
2120
import com.github.mikephil.charting.components.YAxis;
2221
import com.github.mikephil.charting.data.BarData;
2322
import com.github.mikephil.charting.data.BarDataSet;
2423
import com.github.mikephil.charting.data.BarEntry;
2524
import com.github.mikephil.charting.data.XAxisValue;
26-
import com.github.mikephil.charting.data.filter.Approximator;
27-
import com.github.mikephil.charting.data.filter.Approximator.ApproximatorType;
2825
import com.github.mikephil.charting.interfaces.datasets.IBarDataSet;
2926
import com.github.mikephil.charting.utils.FileUtils;
3027
import com.xxmassdeveloper.mpchartexample.notimportant.DemoBase;
@@ -37,9 +34,9 @@ public class BarChartActivitySinus extends DemoBase implements OnSeekBarChangeLi
3734
protected BarChart mChart;
3835
private SeekBar mSeekBarX;
3936
private TextView tvX;
40-
37+
4138
private Typeface mTf;
42-
39+
4340
private List<BarEntry> mSinusData;
4441

4542
@Override
@@ -48,8 +45,8 @@ protected void onCreate(Bundle savedInstanceState) {
4845
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
4946
WindowManager.LayoutParams.FLAG_FULLSCREEN);
5047
setContentView(R.layout.activity_barchart_sinus);
51-
52-
mSinusData = FileUtils.loadBarEntriesFromAssets(getAssets(),"othersine.txt");
48+
49+
mSinusData = FileUtils.loadBarEntriesFromAssets(getAssets(), "othersine.txt");
5350

5451
tvX = (TextView) findViewById(R.id.tvValueCount);
5552

@@ -129,7 +126,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
129126
break;
130127
}
131128
case R.id.actionToggleHighlight: {
132-
if(mChart.getData() != null) {
129+
if (mChart.getData() != null) {
133130
mChart.getData().setHighlightEnabled(!mChart.getData().isHighlightEnabled());
134131
mChart.invalidate();
135132
}
@@ -149,6 +146,13 @@ public boolean onOptionsItemSelected(MenuItem item) {
149146
mChart.notifyDataSetChanged();
150147
break;
151148
}
149+
case R.id.actionToggleBarBorders: {
150+
for (IBarDataSet set : mChart.getData().getDataSets())
151+
((BarDataSet) set).setBarBorderWidth(set.getBarBorderWidth() == 1.f ? 0.f : 1.f);
152+
153+
mChart.invalidate();
154+
break;
155+
}
152156
case R.id.actionToggleHighlightArrow: {
153157
if (mChart.isDrawHighlightArrowEnabled())
154158
mChart.setDrawHighlightArrow(false);
@@ -206,17 +210,28 @@ public void onStopTrackingTouch(SeekBar seekBar) {
206210

207211
private void setData(int count) {
208212

213+
List<XAxisValue> xVals = new ArrayList<XAxisValue>();
209214
ArrayList<BarEntry> entries = new ArrayList<BarEntry>();
210-
215+
211216
for (int i = 0; i < count; i++) {
212217
entries.add(mSinusData.get(i));
218+
xVals.add(new XAxisValue(i, i+""));
219+
}
220+
221+
BarDataSet set;
222+
223+
if (mChart.getData() != null &&
224+
mChart.getData().getDataSetCount() > 0) {
225+
set = (BarDataSet) mChart.getData().getDataSetByIndex(0);
226+
set.setYVals(entries);
227+
mChart.notifyDataSetChanged();
228+
} else {
229+
set = new BarDataSet(entries, "Sinus Function");
230+
set.setBarSpacePercent(40f);
231+
set.setColor(Color.rgb(240, 120, 124));
213232
}
214-
215-
BarDataSet set = new BarDataSet(entries, "Sinus Function");
216-
set.setBarSpacePercent(40f);
217-
set.setColor(Color.rgb(240, 120, 124));
218233

219-
BarData data = new BarData(set);
234+
BarData data = new BarData(xVals, set);
220235
data.setValueTextSize(10f);
221236
data.setValueTypeface(mTf);
222237
data.setDrawValues(false);

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

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -109,18 +109,27 @@ private void setData(List<Data> dataList) {
109109
colors.add(green);
110110
}
111111

112-
BarDataSet set = new BarDataSet(values, "Values");
113-
set.setBarSpacePercent(40f);
114-
set.setColors(colors);
115-
set.setValueTextColors(colors);
116-
117-
BarData data = new BarData(dates, set);
118-
data.setValueTextSize(13f);
119-
data.setValueTypeface(mTf);
120-
data.setValueFormatter(new ValueFormatter());
121-
122-
mChart.setData(data);
123-
mChart.invalidate();
112+
BarDataSet set;
113+
114+
if (mChart.getData() != null &&
115+
mChart.getData().getDataSetCount() > 0) {
116+
set = (BarDataSet)mChart.getData().getDataSetByIndex(0);
117+
set.setYVals(values);
118+
mChart.notifyDataSetChanged();
119+
} else {
120+
set = new BarDataSet(values, "Values");
121+
set.setBarSpacePercent(40f);
122+
set.setColors(colors);
123+
set.setValueTextColors(colors);
124+
125+
BarData data = new BarData(dates, set);
126+
data.setValueTextSize(13f);
127+
data.setValueTypeface(mTf);
128+
data.setValueFormatter(new ValueFormatter());
129+
130+
mChart.setData(data);
131+
mChart.invalidate();
132+
}
124133
}
125134

126135
/**

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

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,13 @@ public boolean onOptionsItemSelected(MenuItem item) {
170170
mChart.notifyDataSetChanged();
171171
break;
172172
}
173+
case R.id.actionToggleBarBorders: {
174+
for (IBarDataSet set : mChart.getData().getDataSets())
175+
((BarDataSet)set).setBarBorderWidth(set.getBarBorderWidth() == 1.f ? 0.f : 1.f);
176+
177+
mChart.invalidate();
178+
break;
179+
}
173180
case R.id.actionToggleHighlightArrow: {
174181
if (mChart.isDrawHighlightArrowEnabled())
175182
mChart.setDrawHighlightArrow(false);
@@ -236,16 +243,25 @@ private void setData(int count, float range) {
236243
yVals1.add(new BarEntry((float) (Math.random() * range), i));
237244
}
238245

239-
BarDataSet set1 = new BarDataSet(yVals1, "DataSet 1");
246+
BarDataSet set1;
247+
248+
if (mChart.getData() != null &&
249+
mChart.getData().getDataSetCount() > 0) {
250+
set1 = (BarDataSet)mChart.getData().getDataSetByIndex(0);
251+
set1.setYVals(yVals1);
252+
mChart.notifyDataSetChanged();
253+
} else {
254+
set1 = new BarDataSet(yVals1, "DataSet 1");
240255

241-
ArrayList<IBarDataSet> dataSets = new ArrayList<IBarDataSet>();
242-
dataSets.add(set1);
256+
ArrayList<IBarDataSet> dataSets = new ArrayList<IBarDataSet>();
257+
dataSets.add(set1);
243258

244-
BarData data = new BarData(xVals, dataSets);
245-
data.setValueTextSize(10f);
246-
data.setValueTypeface(tf);
259+
BarData data = new BarData(xVals, dataSets);
260+
data.setValueTextSize(10f);
261+
data.setValueTypeface(tf);
247262

248-
mChart.setData(data);
263+
mChart.setData(data);
264+
}
249265
}
250266

251267
@SuppressLint("NewApi")

0 commit comments

Comments
 (0)