我使用的是较旧版本的MPCharts,并且它工作正常,但在3.0.2中,它似乎有点不同,他们的wiki页面没有多大帮助。
这就是我所拥有的
ArrayList<BarEntry> entries = new ArrayList();
entries.add(new BarEntry(0,125f));
entries.add(new BarEntry(1,233f));
entries.add(new BarEntry(2,318f));
entries.add(new BarEntry(3,12f));
entries.add(new BarEntry(4,92f));
entries.add(new BarEntry(5,72f));
entries.add(new BarEntry(6,11f));
entries.add(new BarEntry(7,456f));
entries.add(new BarEntry(8,1567f));
entries.add(new BarEntry(9,367f));
entries.add(new BarEntry(10,753f));
entries.add(new BarEntry(11, 11f));
//entries.add(new BarEntry(233f, 12));
//entries.add(new BarEntry(555f, 6));
BarDataSet dataset = new BarDataSet(entries,"Rupees(₹)");
int colors1[] = {Color.rgb(178,34,34)};
dataset.setColors(colors1);
ArrayList<String> labels = new ArrayList();
labels.add("January");
labels.add("February");
labels.add("March");
labels.add("April");
labels.add("May");
labels.add("June");
labels.add("July");
labels.add("August");
labels.add("September");
labels.add("October");
labels.add("November");
labels.add("December");
BarData data = new BarData(dataset);
barChart.setData(data);
barChart.invalidate();
现在我不确定如何将Jan,Feb,March添加到X轴,任何帮助都将不胜感激
答案 0 :(得分:2)
对于BarChart,您可以使用它来设置xAxis中的标签
XAxis xAxis = barChart.getXAxis();
xAxis.setValueFormatter(new IndexAxisValueFormatter(labels));
有关详细信息,请查看其说明: IndexAxisValueFormatter
答案 1 :(得分:0)
你必须使用值格式化程序。
添加这样的条目
ArrayList<BarEntry> entryList = new ArrayList<BarEntry>();
for (int i = 0; i < yourValues.length; i++) {
entryList.add(new BarEntry(i, yourValues[i]));
}
并为图表设置值格式化程序
IAxisValueFormatter xAxisFormatter = new LabelFormatter(mChart);
XAxis xAxis = mChart.getXAxis();
xAxis.setValueFormatter(xAxisFormatter);
这里是LabelFormatter类:
public class LabelFormatter implements IAxisValueFormatter {
private labels[] = {"Jan", "Feb", ..... }
public LabelFormatter(BarLineChartBase<?> chart) {
this.chart = chart;
}
@Override
public String getFormattedValue(float value, AxisBase axis) {
return label[(int)value];
}
}
您可以查看此class以获取更多信息。