java - 将带有字符串的图标作为 XAxisValues 添加到 MPAndroid 图表
问题描述
github.PhilJay:MPAndroidChart:v2.0.9`
我想知道是否可以添加星形图标和数字,XAxisValues
如下图所示?
我已经添加了数字并且工作正常,但我不知道如何添加星形图标!有没有办法结合文字和图标?
到目前为止,这是我的代码:
private ArrayList<BarDataSet> getDataSet(int stars1, int stars2, int stars3, int stars4, int stars5) {
ArrayList<BarDataSet> dataSets = null;
ArrayList<BarEntry> valueSet1 = new ArrayList<>();
BarEntry v1e1 = new BarEntry(stars5, 4);
valueSet1.add(v1e1);
BarEntry v1e2 = new BarEntry(stars4, 3);
valueSet1.add(v1e2);
BarEntry v1e3 = new BarEntry(stars3, 2);
valueSet1.add(v1e3);
BarEntry v1e4 = new BarEntry(stars2, 1);
valueSet1.add(v1e4);
BarEntry v1e5 = new BarEntry(stars1, 0);
valueSet1.add(v1e5);
BarDataSet barDataSet1 = new BarDataSet(valueSet1, "");
barDataSet1.setColors(new int[]{getResources().getColor(R.color.chart5), getResources().getColor(R.color.chart4),
getResources().getColor(R.color.chart3), getResources().getColor(R.color.chart2), getResources().getColor(R.color.chart1)});
barDataSet1.setValueTextSize(9);
dataSets = new ArrayList<>();
dataSets.add(barDataSet1);
return dataSets;
}
private ArrayList<String> getXAxisValues() {
ArrayList<String> xAxis = new ArrayList<>();
xAxis.add("1");
xAxis.add("2");
xAxis.add("3");
xAxis.add("4");
xAxis.add("5");
return xAxis;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
BarData data = new BarData(getXAxisValues(), getDataSet(stars1, stars2, stars3, stars4, stars5));
barChart.setData(data);
barChart.setDescription("");
barChart.invalidate();
barChart.getXAxis().setDrawGridLines(false);
barChart.getXAxis().setDrawAxisLine(false);
barChart.setDrawGridBackground(false);
barChart.getAxisLeft().setDrawGridLines(false);
barChart.getAxisRight().setDrawGridLines(false);
barChart.getAxisLeft().setDrawAxisLine(false);
barChart.getAxisRight().setDrawAxisLine(false);
barChart.getLegend().setEnabled(false);
barChart.getXAxis().setDrawLabels(true);
barChart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);
barChart.getAxisRight().setDrawLabels(false);
barChart.getAxisLeft().setDrawLabels(false);
}
感谢您的宝贵时间...♥</p>
解决方案
推荐阅读
- python - pandas 按条件频率对每个用户进行分组
- vue.js - Vue/NuxtJS 中类似 BarbaJS 的页面转换
- reactjs - React(本机)图像存储/获取良好实践
- blueprism - 如何使用 Blue Prism 识别计算机的 Internet 状态
- c# - 通过 SQL 和 C# 为分区键创建键
- intellij-idea - Intellij 错误“未配置 HTML::Mason 组件”
- java - 类中的构造函数不能应用于给定类型
- javascript - 在使用 [Symbol.iterator] 的用户定义迭代中,[Symbol.iterator] 叫什么?
- tensorflow - Tensorflow 冻结图到 SavedModel
- excel - if 的争论次数错误