2017-03-16 77 views
3

您好我正嘗試在Android Studio中爲我的Java應用程序使用MPAndroidChart庫創建條形圖。我設法使用單個整數值繪製條形圖,但我想繪製雙倍值。使用雙值創建帶有MPAndroidChart的條形圖

這裏是我的繪製單個整數代碼值

public class walk extends AppCompatActivity { 

HorizontalBarChart barChart; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_walk); 

    barChart = (HorizontalBarChart) findViewById(R.id.bargraph); 

    ArrayList<BarEntry> barEntries = new ArrayList<>(); 
    barEntries.add(new BarEntry(10f,0)); 
    barEntries.add(new BarEntry(5f,1)); 
    BarDataSet barDataSet = new BarDataSet(barEntries,"ACTIVITIES"); 

    ArrayList <String> pa = new ArrayList<>(); 
    pa.add("WALKING"); 
    pa.add("RUNNING"); 

    BarData theData = new BarData(pa,barDataSet); 
    barChart.setData(theData); 
    barDataSet.setBarSpacePercent(70f); 

} 

我想繪製以下值20.333333333333332和2.0071271275749623。

我將不勝感激任何幫助,我可以得到,道歉,如果有什麼不清楚我是這個網站的新手。

+0

貌似庫只支持浮動值。在添加到欄條目之前,您可以將雙精度值轉換爲浮點型。 –

+0

@BadhrinathCanessane你好,非常感謝你的幫助。它的工作! –

+0

剛剛添加了一個可能會幫助其他用戶遇到同樣問題的答案。仍然不是一個很好的解決方法,圖書館應該理想地支持雙打。這個問題在他們的回購中被標記爲增強。 –

回答

0

轉換雙繪圖之前浮動:

double point1 = 20.333333333333332; 
    double point2 = 2.0071271275749623; 
    float fp1 = (float)point1; 
    float fp2 = (float)point2; 
    ArrayList<BarEntry> barEntries = new ArrayList<>(); 
     barEntries.add(new BarEntry(fp1,0)); 
     barEntries.add(new BarEntry(fp2,1)); 
    BarDataSet barDataSet = new BarDataSet(barEntries,"ACTIVITIES"); 
相關問題