【问题标题】:MPAndroid Bar Chart Not Aligned with LabelsMPAndroid条形图未与标签对齐
【发布时间】:2016-04-09 10:49:39
【问题描述】:
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 一样,任何人都可以帮助我将条形与相应的标签对齐吗?

【问题讨论】:

  • 你试过这个 XAxis xAxis = mChart.getXAxis(); xAxis.setEnabled(true); nd INSIDE th // 将位置设置为 TOP ae 图表 xAxis.setPosition(XAxis.XAxisPosition.TOP_INSIDE);
  • 欢迎来到 Stack Overflow,我已经编辑了您的代码块以减少缩进,使其更具可读性。有关格式化问题的更多信息,请参阅the editing help

标签: java android mpandroidchart


【解决方案1】:

在我的例子中,XAxis 上的标签之间有很大的空间,并不是所有的标签都被显示出来。以下属性解决了这个问题。

xAxis.setLabelsToSkip(0);

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

【讨论】:

    【解决方案2】:

    我使用的是 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);
    

    【讨论】:

    • 如果您需要进一步的帮助,请告诉我,我会帮助您交配。快乐编码:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-10
    • 1970-01-01
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多