使用MPAndroid图表绘制立方线图

时间:2015-12-09 14:52:55

标签: android mpandroidchart

我试图绘制如下的立方线图:

enter image description here

使用MPAndroid图表库。

我可以画线,但不能画出X轴和线之间的填充,如图所示 经历了图书馆和许多SO问题。

2 个答案:

答案 0 :(得分:8)

我认为你需要这个:

LineDataSet dataset = new LineDataSet(vals, null);

dataset.setDrawFilled(true); 
  

setDrawFilled(boolean filled)

     

如果DataSet应该填充(表面),而不仅仅是一条线,则设置为true,禁用此功能将提高性能!默认值:false

您还可以控制透明度:

  

setFillAlpha(int alpha)

     

设置用于填充线表面的alpha值(透明度)(0-255),默认值:85

颜色:

  

setFillColor(int color)

     

设置用于填充线条表面的颜色

答案 1 :(得分:5)

  1. 删除水平网格线:

    chart.getXAxis().setDrawGridLines(false);
    
  2. 对于立方线:

    dataSet.setMode(LineDataSet.Mode.CUBIC_BEZIER);
    
  3. 要填充行下方的区域,请禁用显示的值:

    dataSet.setDrawFilled(true);
    dataSet.setDrawValues(false);
    
  4. 设置填充颜色和线条颜色:

    dataSet.setFillColor(ContextCompat.getColor(contex,R.color.pale_green));
    dataSet.setColor(ContextCompat.getColor(contex,R.color.pale_green));
    
  5. 禁用透明度(值范围0-255)并禁用主图表行上的绘制圆圈:

    dataSet.setFillAlpha(255);
    dataSet.setDrawCircles(false);
    
  6. 结果: enter image description here

    EDIT1: 要禁用图例并隐藏说明:

    chart.getDescription().setText("");
    chart.getLegend().setEnabled(false);
    

    <color name="pale_green">#6BF3AD</color>
    

    edit2:禁用右轴:

    chart.getAxisRight().setEnabled(false);
    

    edit3:差点忘了最后一件事:

      chart.getAxisLeft().setValueFormatter(new IAxisValueFormatter() {
            @Override
            public String getFormattedValue(float value, AxisBase axis) {
                return String.format("%.2f $",value);
            }
        });