【问题标题】:How do i add X-axis lables in Mpcharts for barcharts如何在 Amcharts 中为条形图添加 X 轴标签
【发布时间】:2017-05-26 05:55:41
【问题描述】:

我使用的是旧版本的 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();

现在我不确定如何将一月、二月、三月添加到 X 轴,任何帮助将不胜感激

【问题讨论】:

标签: android mpandroidchart


【解决方案1】:

对于条形图,您可以使用它来设置 xAxis 中的标签

XAxis xAxis = barChart.getXAxis();
xAxis.setValueFormatter(new IndexAxisValueFormatter(labels));

有关详细信息,请查看其说明: IndexAxisValueFormatter

【讨论】:

    【解决方案2】:

    您必须使用值格式化程序。

    添加这样的条目

    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 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-04
      • 2022-01-06
      • 2023-01-27
      • 1970-01-01
      相关资源
      最近更新 更多