我正在使用这个库https://github.com/PhilJay/MPAndroidChart在我的项目中制作一个条形图,我已经尝试并遵循维基但仍然无法解决我留下的一些问题。我试图删除右侧的值(4,3,2,1,0)和下面的标签“BarDataSet”以及左侧的颜色块。最后,我试图在条形图上设置的颜色不是我定义的颜色。
我做了什么:
List<BarEntry> entries = new ArrayList<>();
entries.add(new BarEntry(0f, 55f));
entries.add(new BarEntry(1f, 80f));
entries.add(new BarEntry(2f, 60f));
entries.add(new BarEntry(3f, 50f));
entries.add(new BarEntry(4f, 40f));
BarDataSet set = new BarDataSet(entries, "BarDataSet");
BarData data = new BarData(set);
data.setBarWidth(0.9f); // set custom bar width
barChart.setData(data);
barChart.setFitBars(true); // make the x-axis fit exactly all bars
barChart.invalidate(); // refresh
barChart.getAxisLeft().setEnabled(false);
barChart.getAxisRight().setEnabled(false);
barChart.getXAxis().setDrawGridLines(false);
barChart.getDescription().setEnabled(false);
set.setColors(R.color.star_bar);
我现在拥有的东西:
我想删除右边的标签(4到0)和“BarDataSet”。 我为R.color.star_bar定义的颜色是黄色但不知何故显示为紫色。
答案 0 :(得分:0)
删除该行:
set.setColors(R.color.star_bar);
然后,您必须添加以下行:
barChart.getLegend().setEnabled(false); // hide the legend
set.setColor(ContextCompat.getColor(this, R.color.colorAccent)); // set yellow color
// hide the labels
barChart.getXAxis().setValueFormatter(new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
return "";
}
});
答案 1 :(得分:0)
如果右侧0到4是条形值,要删除它们设置:
data.setDrawValues(false);
否则,如果他们是标签,那么尝试:
barChart.getXAxis().setDrawLabels(false);
&#34; BarDataSet&#34;是图例,您可以使用以下方法隐藏:
barChart.getLegend().setEnabled(false);
你的代码中还有一件事是你首先使图表无效然后设置一些属性,但我认为最终使图表无效最好,所以在最后放置一行并尝试:
barChart.invalidate();