2017-02-18 22 views
0

私はMPAndroidChart(使用V3.0.1)のドキュメントを読んされてきたと私はMPAndroidChart棒グラフ値

sample chart

Iバーのラベルを削除する方法を見つけるように見えることはできません各バーの上部に表示されている値を非表示にするか、手動で設定できる値に変更します。いずれのオプションも私の実装にはうまくいくはずです。

いずれかを実行することも可能かどうかわかりません。私は非常に援助が素晴らしいだろう、アンドロイド開発に非常に新しいです。

私のコードは次のとおりです。

public class MainActivity extends AppCompatActivity { 

protected BarChart chart; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    chart = (BarChart) findViewById(R.id.chart1); 

    Description desc ; 
    Legend L; 

    L = chart.getLegend(); 
    desc = chart.getDescription(); 
    desc.setText(""); // this is the weirdest way to clear something!! 
    L.setEnabled(false); 


    YAxis leftAxis = chart.getAxisLeft(); 
    YAxis rightAxis = chart.getAxisRight(); 
    XAxis xAxis = chart.getXAxis(); 

    xAxis.setPosition(XAxisPosition.BOTTOM); 
    xAxis.setTextSize(10f); 
    xAxis.setDrawAxisLine(true); 
    xAxis.setDrawGridLines(false); 


    leftAxis.setTextSize(10f); 
    leftAxis.setDrawLabels(false); 
    leftAxis.setDrawAxisLine(true); 
    leftAxis.setDrawGridLines(false); 

    rightAxis.setDrawAxisLine(false); 
    rightAxis.setDrawGridLines(false); 
    rightAxis.setDrawLabels(false); 

    BarData data = new BarData( setData()); 


    data.setBarWidth(0.9f); // set custom bar width 
    chart.setData(data); 

    chart.setFitBars(true); // make the x-axis fit exactly all bars 
    chart.invalidate(); // refresh 
    chart.setScaleEnabled(false); 
    chart.setDoubleTapToZoomEnabled(false); 
    chart.setBackgroundColor(Color.rgb(255, 255, 255)); 
    chart.animateXY(2000, 2000); 
    chart.setDrawBorders(false); 
    chart.setDescription(desc); 
    chart.setDrawValueAboveBar(true); 


} 

private BarDataSet setData() { 

    ArrayList<BarEntry> entries = new ArrayList<>(); 

    entries.add(new BarEntry(0f, 30f)); 
    entries.add(new BarEntry(1f, 80f)); 
    entries.add(new BarEntry(2f, 60f)); 
    entries.add(new BarEntry(3f, 50f)); 
    entries.add(new BarEntry(4f, 70f)); 
    entries.add(new BarEntry(5f, 60f)); 


    BarDataSet set = new BarDataSet(entries, ""); 
    set.setColor(Color.rgb(155, 155, 155)); 
    set.setValueTextColor(Color.rgb(155,155,155)); 

    return set; 
} 

}

は、誰もがこれでの経験がありましたか?ライブラリの Githubのリンクはこちらです:https://github.com/PhilJay/MPAndroidChart

答えて

3

は、単に新しいクラスを作成し、それがIValueFormatterを実装し、以下のようなgetFormattedValue(...)メソッドから表示させたいものは何でも返してみましょう。

public class MyValueFormatter implements IValueFormatter 
{ 
    @Override 
    public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) 
    { 
     return ""; 
    } 
} 

BarDataSet set = new BarDataSet(entries, ""); 
set.setValueFormatter(new MyValueFormatter()); 
set.setColor(Color.rgb(155, 155, 155)); 
set.setValueTextColor(Color.rgb(155, 155, 155)); 

詳しくはhereをご覧ください。

+1

これでした。私はそのクラスが何をしているのか分かりませんでした。 – Diesel

1

解決策を探している他の人には、代わりにデータセットにsetDrawValuesを試してみてください。

BarDataSet dataSet = new BarDataSet(entries, ""); 
dataSet.setDrawValues(false); 
関連する問題