无法使用MPAndroidChart库优化折线图

时间:2015-02-15 15:02:12

标签: android graph android-graphview mpandroidchart

我想制作一张好看的折线图MPAndroidChart,但我遇到了一些问题。 这是我现在得到的 enter image description here

,这是它的代码

public void createGraph() {
    chart.setTouchEnabled(false);
    chart.setDragEnabled(false);
    chart.setHighlightEnabled(false);
    chart.setDrawYLabels(true);
    chart.setDrawXLabels(true);
    chart.animateXY(2000, 2000);
    chart.setDrawBorder(true);
    chart.setPadding(30, 30, 30, 30);
    setData();
}

private void setData() {
    String[] stages = { "Stage1", "Stage2", "Stage3", "Stage4" };
    ArrayList<Entry> yVals = new ArrayList<Entry>();
    yVals.add(new Entry(0.0f, 0));
    yVals.add(new Entry(Float.parseFloat(nicotineTwo), 1));
    yVals.add(new Entry(Float.parseFloat(nicotineThree), 2));
    yVals.add(new Entry(Float.parseFloat(nicotineFour), 3));
    LineDataSet set1 = new LineDataSet(yVals, "");
    set1.setColor(Color.BLACK);
    set1.setCircleColor(Color.BLACK);
    set1.setLineWidth(1f);
    ArrayList<LineDataSet> dataSets = new ArrayList<LineDataSet>();
    dataSets.add(set1);
    LineData data = new LineData(stages, dataSets);
    chart.setData(data);
}

我需要的是:

  1. 删除左下角的黑框
  2. 使文字“Nicotine Lowered”更大,更易读
  3. 添加一些填充或其他内容,因为右上角的Stage4不在屏幕上
  4. 使数字沿线更大,如果可能,使用百分数“25.0%”
  5. 隐藏该行的第一个值,因为它始终为0
  6. 显示Y刻度上的所有刻度值,从0到100(现在没有100)
  7. 请帮帮我,这个图书馆让我感到困惑

2 个答案:

答案 0 :(得分:3)

  1. “黑匣子”是传说。 请致电chart.getLegend().setEnabled(false)将其停用。
  2. 那是“描述文字”。请致电chart.setDescriptionTextSize(...)以自定义其尺寸。
  3. 有两种可能的解决方案。您可以通过.xml添加更多保证金,也可以调用

    XAxis x = chart.getXAxis();
    x.setAvoidFirstLastClipping(true);
    
  4. 要增加值文字大小,请致电data.setValueTextSize(...)。要自定义图表中的值,请查看库提供的ValueFormatter界面。
  5. 也可以使用ValueFormatter界面解决。例如if(value == 0) return "";
  6. 现在,y轴上的值范围由图表自动确定。您可以通过调用yAxis.setAxisMaxValue(...)&amp;来设置固定的值范围。 yAxis.setAxisMinValue(...)
  7. 这是full documentation

答案 1 :(得分:0)

chart.setDescriptionTextSize(...)的范围有限(7f到14f)。也许这就是你没有注意到任何变化的原因。

的Javadoc

  

设置描述文本的大小,以像素为单位,min 7f,max 14f