【问题标题】:Creating a bar chart with MPAndroidChart using double values使用双值使用 MPAndroidChart 创建条形图
【发布时间】:2017-08-08 05:07:54
【问题描述】:

您好,我正在尝试使用 Android Studio 中的 MPAndroidChart 库为我的 java 应用程序创建一个条形图。我已经设法使用单个整数值绘制条形图,但我想绘制双值。

这是我绘制单个整数值的代码

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。

如果有任何不清楚的地方,我将不胜感激。我是这个网站的新手。

【问题讨论】:

  • 看起来库只支持浮点值。在添加到条形条目之前,您可以将双精度值转换为浮点数。
  • @BadhrinathCanessane 您好,感谢您的帮助,非常感谢。成功了!
  • 刚刚添加了一个答案,它可能会帮助其他用户遇到同样的问题。仍然不是一个很好的解决方法,该库应该理想地支持双打。此问题在其 repo 中被标记为增强功能。
  • 将此值应用于 bar (1000000000) 应用程序崩溃时出现同样的问题。是否有任何解决方案

标签: java android arraylist bar-chart mpandroidchart


【解决方案1】:

在绘图之前将双精度转换为浮点数:

    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");

【讨论】:

    猜你喜欢
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    • 2021-01-25
    • 2012-12-05
    • 1970-01-01
    • 2020-04-19
    • 1970-01-01
    相关资源
    最近更新 更多