BarChart 与 MPAndroidChart :条形图不可见

apa*_*pat 5 android mpandroidchart

我正在使用 MPAndroidChart 在折叠工具栏中生成一个简单的条形图。当我添加条目时,条目的值在图表上的正确高度可见,但我看不到条形图。

这就是我创建变量的方式:

final List<BarEntry> barEntries = new ArrayList<>();
final BarDataSet barDataSet = new BarDataSet(barEntries, getResources().getString(R.string.cycles_profiled));
final BarData barData = new BarData(barDataSet);
Run Code Online (Sandbox Code Playgroud)

这就是我填充数据并刷新图表的方式:

final Calendar cal = getFirstDayOfWeek();
for (int i = 0; i < NUMBER_OF_DAYS; i++) {
    long date = cal.getTimeInMillis();
    barEntries.add(new BarEntry(date, map.get(date)));
    cal.add(Calendar.DAY_OF_WEEK, 1);
}
barDataSet.setValues(barEntries);
barChart.setData(barData);
barData.notifyDataChanged();
barChart.notifyDataSetChanged();
barChart.invalidate();
Run Code Online (Sandbox Code Playgroud)

图形

我在应用程序的其他部分创建条形图没有问题。当我在折叠工具栏中绘制折线图时,它也工作得很好。

Had*_*das 6

遇到了同样的问题,感谢OumaSyuu解决了。由于某种原因BarChart,毫秒很难计算。将毫秒转换为分钟:TimeUnit.MILLISECONDS.toMinutes(millisecondValue)你的生活将变得甜蜜!

  • 如果转换为分钟没有帮助,请尝试使用不同的(更高的)时间单位。对您有利的时间单位是条形之间的平均间隙,对我来说是小时。
    • 另一个有趣的点可以帮助您设计图表样式 - 在方法中setBarWidth(float mBarWidth),输入mBarWidth表示值而不是像素。


Int*_*iya 1

您缺少设置.setColor

尝试用

barDataSet.setColor(Color.rgb(0, 155, 0)); //Put your RGB Color
Run Code Online (Sandbox Code Playgroud)