2017-03-16 43 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"); 
相关问题