首页 文章

MPAndroid条形图未与标签对齐

提问于
浏览
1
JSONArray jsonArray = new JSONArray(result);
  int length = jsonArray.length();
  ArrayList<BarEntry> entries = new ArrayList<BarEntry>();
  ArrayList<String> labels = new ArrayList<String>();
  for (int i = 0; i < length; i++) {
    entries.add(new BarEntry(Float.parseFloat(jsonArray.getJSONObject(i).getString("Potentials")), i));
    labels.add(jsonArray.getJSONObject(i).getString("Name"));
  }
BarChart chart = new BarChart(PotentialbySourceActivity.this);
  BarDataSet dataset = new BarDataSet(entries, "# of Calls");
  setContentView(chart);
  BarData data = new BarData(labels, dataset);
  chart.setData(data);
  chart.setDragEnabled(true); // on by default
  chart.setVisibleXRange(1,5);
  chart.setHorizontalScrollBarEnabled(true);
  chart.setDescription("");    // Hide the description
  chart.getAxisLeft().setDrawLabels(true);
  chart.getAxisRight().setDrawLabels(true);
  chart.getXAxis().setDrawLabels(true);
  Toast.makeText(PotentialbySourceActivity.this,"test",Toast.LENGTH_LONG).show();
  chart.getLegend().setEnabled(true);
  chart.setDescription("# of Industry");
  dataset.setColors(ColorTemplate.COLORFUL_COLORS);

我正在使用JSONArray来填充我的MPAndroid条形图 . 但是酒吧没有与他们的标签对齐 . 喜欢this任何人都可以帮助我做些什么来将酒吧与相应的标签对齐?

2 回答

  • 0

    就我而言,XAxis上的标签之间有很多空间,并没有显示所有标签 . 以下属性解决了这个问题 .

    xAxis.setLabelsToSkip(0);
    

    这样可确保显示所有标签并使标签与条形对齐 . 然后,您可以相应地修剪标签字符 .

  • 0

    我使用的是2.1.6版本,没有与标签对齐的问题 . 请按照以下示例更换条形图和标签:

    BarChart chart = (BarChart) findViewById(R.id.chart1);
        ArrayList<BarEntry> entries = new ArrayList<>();
        entries.add(new BarEntry(4f, 0));
        entries.add(new BarEntry(8f, 1));
        entries.add(new BarEntry(6f, 2));
        entries.add(new BarEntry(12f, 3));
        entries.add(new BarEntry(18f, 4));
        entries.add(new BarEntry(9f, 5));
    
        ArrayList<String> labels = new ArrayList<String>();
        labels.add("January");
        labels.add("February");
        labels.add("March");
        labels.add("April");
        labels.add("May");
        labels.add("June");
    
    
        BarDataSet dataset = new BarDataSet(entries, "# of Calls");
    
        BarData data = new BarData(labels, dataset);
        chart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);
        chart.setData(data);
    

相关问题