2016-05-18 11 views
0

こんにちは私は条件とグラフに基づいて異なる色でグラフを表示してもうまく動作します。今私の質問は、ラベルに対応する色に基づいてテキストを表示する方法ですか? 私はスクリーンショットの下に添付しました。androidmpchartの対応する色にラベルを表示するにはどうすればいいですか?

以下のスクリーンショット、3色、および3色の後に、テキストは、低、平均および高として表示されました。 代わりに、対応するテキストを緑色で表示する必要があります。赤色で、対応するテキストは平均および紫色で、対応するテキストは高く表示されます。私が試した何

enter image description here

public class CustomBarDataSet extends BarDataSet { 

public CustomBarDataSet(List<BarEntry> yVals, String label) { 
    super(yVals, label); 
} 

@Override 
public int getColor(int index) { 
    if(getEntryForXIndex(index).getVal() < 20) // green.. low 
     return mColors.get(0); 
    else if(getEntryForXIndex(index).getVal() < 50) // 50 red average 
     return mColors.get(1); 
    else if(getEntryForXIndex(index).getVal() < 100) // 50 violet high 
     return mColors.get(2); 
    else // greater or equal than 100 red 
     return mColors.get(2); //violet 
} 
//i don't know how to use this. 
@Override 
public String getLabel() { 
    return super.getLabel(); 
} 

} MainActivityで

:これはあなたを助けるべき

CustomBarDataSet set = new CustomBarDataSet(entries, "low,average,high"); 
       set.setColors(new int[]{getResources().getColor(R.color.green_color), 
         getResources().getColor(R.color.red_button), 
         getResources().getColor(R.color.violet_color)}); 
       ArrayList<BarDataSet> dataSets = new ArrayList<>(); 
       dataSets.add(set); 
       BarDataSet dataset = new BarDataSet(entries, ""); 
       BarData data = new BarData(labels, set); 

答えて

0

Legend l = chart.getLegend(); 
l.setCustom(new int[] {Color.GREEN, Color.RED, Color.rgb(238,130,238)},new String[] {"low", "average", "high"}); 
関連する問題