作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 MPAndroid 库在我的 Android 应用程序中显示一个简单的条形图。条形图有时会完美地显示数据。然而,有时,尽管数据集有数据,它仍会显示消息“没有可用的图表数据”。
仅当我点击图表区域时才会显示图表。我用谷歌搜索了这个,但找不到解决方案。以下是代码:
if (mCount > 0){mBarDataSet = new BarDataSet(mBarEntryAssessmentList, "Assessment Count");
mBarDataSet.setBarSpacePercent(5f);
mBarData = new BarData(trimmedSubjectNameList, mBarDataSet);
mBarData.setValueFormatter(new BarEntryValueFormatter()); // Setting a Value formatter to show Integer data instead of Float
mBarChart.setData(mBarData);
mBarChart.setDescription("");
mBarChart.setDrawGridBackground(false);
mBarChart.setDragEnabled(true);
mBarChart.setTouchEnabled(true);
mBarChart.setClickable(true);
mBarChart.setScaleXEnabled(false);
mBarChart.setScaleYEnabled(false);
mBarChart.setVisibleXRange(1, 4);
mBarChart.setHighlightPerDragEnabled(false);
mBarChart.setHighlightPerTapEnabled(true); // set this to true if we want to listen to click events
mBarChart.setOnChartValueSelectedListener(StudentProgressActivity.this);
XAxis xAxis = mBarChart.getXAxis();
xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
xAxis.setDrawLabels(true);
xAxis.setDrawGridLines(false);
xAxis.setLabelsToSkip(0); // Shows all the labels as initially we had problems showing all the labels
YAxis leftAxis = mBarChart.getAxisLeft();
leftAxis.setDrawLabels(true);
leftAxis.setDrawGridLines(false);
leftAxis.setAxisMinValue(0f); // Removes padding below YAxis minimum value and XAxis labels
YAxis rightAxis = mBarChart.getAxisRight();
rightAxis.setDrawLabels(false);
rightAxis.setDrawGridLines(false);
} else {
mBarChart.setDescription("");
mBarChart.setNoDataText("No Assessments yet");
}
我们将不胜感激。
最佳答案
最后,在你的条件之外,添加:
mBarChart.invalidate();
mBarChart.refreshDrawableState();
希望这能解决您的问题。
关于android - MPAndroid 条形图仅在点击图表区域后显示图形,否则显示 'No chart data available',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38301440/
我是一名优秀的程序员,十分优秀!