【问题标题】:Can I draw a gradient linechart with mpAndroidChart?我可以用 mpAndroidChart 绘制渐变线图吗?
【发布时间】:2015-11-17 02:29:13
【问题描述】:

我可以画一个如图中的lineChart吗?如果可以,我应该怎么做才能改变线条颜色?谢谢!

我画的看起来像图片二,线条是相同的颜色,没有昨天的incom。我应该怎么做才能把线条变成渐变色,只显示最后一个markerView?

The picture I have drawn.

【问题讨论】:

  • 向我们展示您的尝试?
  • 您的问题解决了吗?我收到了同样的要求

标签: android mpandroidchart


【解决方案1】:

我找到了解决方法! 请检查这个tutorial by Lance Gleason. 这很简单。这是其中的一些代码:

@Override
public void onStart() {
    super.onStart();
    getView().post(new Runnable() {
        @Override
        public void run() {
            setupGradient(chartDaySpeed);
        }
    });
}

private void setupGradient(LineChart mChart) {
    Paint paint = mChart.getRenderer().getPaintRender();
    int height = mChart.getHeight();

    LinearGradient linGrad = new LinearGradient(0, 0, 0, height,
            getResources().getColor(android.R.color.holo_green_light),
            getResources().getColor(android.R.color.holo_red_light),
            Shader.TileMode.REPEAT);
    paint.setShader(linGrad);
}

结果如下:

Line chart gradient result

【讨论】:

  • 代替line,我可以用渐变填充图形下方的区域吗?
  • 萨阿德萨阿迪,是的,你可以。 Drawable drawable = ContextCompat.getDrawable(this.getContext(), R.drawable.fade_chart_all); set1.setFillDrawable(drawable);
  • 通过仅在视图加载后调用 setupGradient() 来确保 getHeight() 不会返回 0。您可以通过添加 OnGlobalLayoutListener 来做到这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-09
  • 1970-01-01
相关资源
最近更新 更多