2016-05-24 34 views
1

私はMpAndroidChartライブラリを使用しています。私は2つの限界線の間の領域を色付けする必要があるデザインを実装する必要があります。参考のために画像を添付しました。私は複数の方法を試みましたが、私はそれを達成できませんでした。私はこのライブラリを初めて使用しています。これを達成する方法について誰でも助けてくれますか? As you can see the green shade behind the line graph. Which is the limit. I need to get that green shadeMpAndroidChartはリミットラインの間の背景を設定します

線グラフの後ろに緑色の色合いが見えます。限界はどれですか。私は緑の木陰に事前に

おかげで、

Anudeepレディを取得する必要があります。

+0

私はわからないが、これはあなたを助けるかもしれません。 http://stackoverflow.com/questions/37268519/how-to-change-dot-colors-if-value-is-higher-than-constant-in-mpandroidchart/37389595#37389595 – Dhruv

答えて

0

私はこれを達成するための直接的な方法はないと思いますが、この問題を回避するには、あなたを助ける必要があります。

LimitLine ll = new LimitLine(lowerLimit, "Systolic range"); 
ll.setLineColor(Color.GREEN); 
ll.setLineWidth(upperLimit - lowerLimit); 

ll.setTextColor(Color.WHITE); 
ll.setTextSize(12f); 

chart.getAxisLeft().setDrawLimitLinesBehindData(true); 

ここで重要なのは方法setDrawLimitLinesBehindData(true)あります。

いつものように、すべての情報はdocumentationで利用できます。

1

これは、グラフクラス(LineChartなど)をサブクラス化してから、onDraw()メソッドをオーバーライドすることで実行できます。オーバーライドされたonDraw()では、必要な矩形をキャンバスに直接描画し、super.onDraw()を呼び出してグラフのレンダリングを完了できます。

MP Android Github(下記参照)でこれを行う方法の例があります。私はこの例のコードを辿り、それは私のためにうまくいった。

https://github.com/PhilJay/MPAndroidChart/issues/485

0

私は同じ問題を抱えていたが、折れ線グラフをサブクラス化することなく、別の回避策に達しました。キャンバスを使用して四角形を描きますが、グラフ座標をキャンバス座標に変換する必要があります。ラインの幅には限界があるため、1つのリミットラインを使用することはできません。私が使用した回避策は、範囲内で矩形を作成するためにリミットラインをループするだけでした。

float increment = (rangeHigh - rangeLow)/20; 
    float metricLine = rangeLow; 

    for(int i = 0; i < 20; i++) { 
     LimitLine llRange = new LimitLine(metricLine, ""); 
     llRange.setLineColor(Color.parseColor("#b5eb45")); 
     llRange.setLineWidth(10f); 
     leftAxis.addLimitLine(llRange); 
     metricLine = metricLine + increment; 
    } 

graph

関連する問題