Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将带有字符串的图标添加到MPAndroid图表中作为Xaxis值_Java_Android_Mpandroidchart - Fatal编程技术网

Java 将带有字符串的图标添加到MPAndroid图表中作为Xaxis值

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&

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);
}
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 ★";
                                              }
                                          }
结果如下: