【问题标题】:Drawing a cubic line chart using MPAndroid chart使用 MPAndroidchart 绘制三次折线图
【发布时间】:2016-03-14 21:43:58
【问题描述】:

我试图画一个像这样的三次折线图:

使用 MPAndroid 图表库。

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

【问题讨论】:

  • 为清楚起见:在您的图表中,我可以看到带有平滑曲线(正弦曲线)的正常时间表。三次表达式是另一回事。
  • @FrankN.Stein 您可以在链接本身github.com/PhilJay/MPAndroidChart 中检查图表的标题。我只是想知道如何获得填充物。这可以使用折线图或其他东西来完成吗
  • 示例中没有介绍。我知道这是可能的。不仅能够弄清楚这些东西
  • 我不使用那个库,但我可以猜到它需要设置一些属性。文档应该提到这一点。
  • 为什么这个问题被否决了这么多次?

标签: android mpandroidchart


【解决方案1】:

我认为你需要这个:

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)

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

【讨论】:

    【解决方案2】:
    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);
      

    结果:


    编辑1: 禁用图例并隐藏描述:

    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);
            }
        });
    

    【讨论】:

    • 指定你使用的库版本? dataSet.setMode(LineDataSet.Mode.CUBIC_BEZIER);此方法不适用于某些版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-18
    • 2016-07-31
    • 1970-01-01
    相关资源
    最近更新 更多