Reputation: 988
I have the following drawing:
I would like to:
-get rid of the hopizontal lines
-plot numbers as int Vs float. for ex: draw 12 instead of 12.0
-get rid of the "description" label in the bottom right corner
Here is part of my code:
public void createChart(com.github.mikephil.charting.charts.BarChart chart, String period){ BarData data;
switch (period) {
case "days":
data = new BarData(getXAxisDays(), getDataSetDays());
break;
case "months":
data = new BarData(getXAxisMonths(), getDataSetMonths());
break;
default:
data = new BarData(getXAxisYears(), getDataSetYears());
break;
}
chart.setData(data);
// chart.setDescription("My Chart");
chart.animateXY(2000, 2000);
chart.invalidate();
chart.setPinchZoom(true);
}
private ArrayList<BarDataSet> getDataSetDays() {
ArrayList<BarDataSet> dataSets;
ArrayList<BarEntry> valueSet1 = new ArrayList<>();
for(int i=0;i<NBDAYS;i++){
vdays[i] = new BarEntry((float) days[i], i);
valueSet1.add(vdays[i]);
}
BarDataSet barDataSet1 = new BarDataSet(valueSet1, "Score");
barDataSet1.setColor(Color.rgb(0, 155, 0));
dataSets = new ArrayList<>();
dataSets.add(barDataSet1);
return dataSets;
}
private ArrayList<String> getXAxisDays() {
ArrayList<String> xAxis_days = new ArrayList<>();
if (lang == 0) {
xAxis_days.add("Mon");
xAxis_days.add("Tue");
xAxis_days.add("Wed");
xAxis_days.add("Thu");
xAxis_days.add("Fri");
xAxis_days.add("Sat");
xAxis_days.add("Sun");
}
else{
xAxis_days.add("LUNDI");
xAxis_days.add("MARDI");
xAxis_days.add("MERCREDI");
xAxis_days.add("JEUDI");
xAxis_days.add("VENDREDI");
xAxis_days.add("SAMEDI");
xAxis_days.add("DIMANCHE");
}
return xAxis_days;
}
Upvotes: 1
Views: 64
Reputation: 1087
Below Code Work For all chart.
PieData data = new PieData(xVals, dataSet);
data.setValueFormatter(new PiechartValueFormatter());
and here is code for PiechartValueFormatter class
public class PiechartValueFormatter implements ValueFormatter, com.github.mikephil.charting.formatter.YAxisValueFormatter {
protected DecimalFormat mFormat;
public PaichartValueFormatter() {
mFormat = new DecimalFormat("###,###,##0");
}
/**
* Allow a custom decimalformat
*
* @param format
*/
public PiechartValueFormatter(DecimalFormat format) {
this.mFormat = format;
}
// ValueFormatter
@Override
public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
return mFormat.format(value);
}
@Override
public String getFormattedValue(float value, YAxis yAxis) {
return mFormat.format(value);
}
}
Upvotes: 1