Java 将带有字符串的图标添加到MPAndroid图表中作为Xaxis值
PhilJay:MPAndroidChart:v2.0.9` 我想知道是否可以像下图一样添加星号图标和数字作为Java 将带有字符串的图标添加到MPAndroid图表中作为Xaxis值,java,android,mpandroidchart,Java,Android,Mpandroidchart,PhilJay:MPAndroidChart:v2.0.9` 我想知道是否可以像下图一样添加星号图标和数字作为XAxisValues? 我已经添加了数字,它的工作很好,但我不知道如何添加明星图标!有没有办法将文本和图标结合起来? 以下是我目前的代码: private ArrayList<BarDataSet> getDataSet(int stars1, int stars2, int stars3, int stars4, int stars5) { ArrayList&
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);
}
private ArrayList getDataSet(int-stars1、int-stars2、int-stars3、int-stars4、int-stars5){
ArrayList数据集=null;
ArrayList valueSet1=新的ArrayList();
巴伦特里v1e1=新巴伦特里(stars5,4);
valueSet1.add(v1e1);
巴伦特里v1e2=新巴伦特里(标准4,3);
valueSet1.add(v1e2);
巴伦特里v1e3=新巴伦特里(stars3,2);
valueSet1.add(v1e3);
巴伦特里v1e4=新巴伦特里(stars2,1);
valueSet1.add(v1e4);
巴伦特里v1e5=新巴伦特里(起点1,0);
valueSet1.add(v1e5);
BarDataSet barDataSet1=新的BarDataSet(valueSet1,“”);
barDataSet1.SetColor(新的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);
数据集=新的ArrayList();
数据集.add(barDataSet1);
返回数据集;
}
私有ArrayList GetXaxiValues(){
ArrayList xAxis=新的ArrayList();
xAxis.添加(“1”);
xAxis.添加(“2”);
xAxis.添加(“3”);
xAxis.添加(“4”);
xAxis.添加(“5”);
返回xAxis;
}
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main_活动);
BarData数据=新的BarData(getXaxiValues(),getDataSet(stars1、stars2、stars3、stars4、stars5));
条形图.设置数据(数据);
条形图。设置说明(“”);
barChart.invalidate();
getXAxis().setDrawGridLines(false);
getXAxis().setDrawAxisLine(false);
barChart.setDrawGridBackground(假);
getAxisLeft().setDrawGridLines(false);
getAxisRight().setDrawGridLines(false);
barChart.getAxisLeft().setDrawAxisLine(false);
barChart.getAxisRight().setDrawAxisLine(false);
barChart.getLegend().setEnabled(false);
getXAxis().setDrawLabels(true);
barChart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);
getAxisRight().setDrawLabels(false);
getAxisleet().setDrawLabels(false);
}
谢谢你的时间。。。♥ 只要使用★ 字符,它将被很好地显示。可以使用x轴值格式化程序格式化值:
barChart.getXAxis().setValueFormatter(new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
return "value ★";
}
}
结果如下: