第一个和最后一个标签仅在android中显示,使用MpchartAndroid Library for Barchart

第一个和最后一个标签仅在android中显示,使用MpchartAndroid Library for Barchart,android,bar-chart,Android,Bar Chart,我有一个数据集,它有大约10个x轴标签。我的条形图未显示x轴上的所有标签 仅显示第一个和最后一个标签。我必须在条形图中显示所有10个x轴标签 下面是图像的参考 你可以试试这些 一,- 3- 四,- 五,- 6- 你可以试试这些 一,- 3- 四,- 五,- 6- 遵循这个@KasımÖzdemir遵循上面的答案。但是它返回的是浮点值,而不是浮点值strings@KasımÖzdemir请检查我的更新代码是否有problem@KasımÖzdemir检查我的图像跟随这个@KasımÖzdemir跟

我有一个数据集,它有大约10个x轴标签。我的条形图未显示x轴上的所有标签

仅显示第一个和最后一个标签。我必须在条形图中显示所有10个x轴标签

下面是图像的参考

你可以试试这些

一,-

3-

四,-

五,-

6-

你可以试试这些

一,-

3-

四,-

五,-

6-


遵循这个@KasımÖzdemir遵循上面的答案。但是它返回的是浮点值,而不是浮点值strings@KasımÖzdemir请检查我的更新代码是否有problem@KasımÖzdemir检查我的图像跟随这个@KasımÖzdemir跟随上面的答案。但是它没有返回浮点值strings@KasımÖzdemir请检查我的更新代码是否有problem@KasımÖzdemir check my imageComments(我的图像评论)不用于扩展讨论;此对话已结束。评论不用于扩展讨论;这段对话已经结束。
     private void setData_chart(int count, float range) {

        float barWidth = 10f;
        float spaceForBar = 12f;
        float groupSpace = 0.06f;
        float barSpace = 0.02f;


        ArrayList<BarEntry> values = new ArrayList<>();

        for (int i = 0; i < count; i++) {
            float val = (float) (Math.random() * range);
            values.add(new BarEntry(i * spaceForBar, val,
                    getResources().getDrawable(R.drawable.ic_launcher)));
        }

        BarDataSet set1;
        if (chart1.getData() != null &&
                chart1.getData().getDataSetCount() > 0) {
            set1 = (BarDataSet) chart1.getData().getDataSetByIndex(0);
            set1.setValues(values);
            chart1.getData().notifyDataChanged();
            chart1.notifyDataSetChanged();
        }
        else {
            set1 = new BarDataSet(values, "taskTypes");


            set1.setDrawIcons(false);

            dataSets = new ArrayList<>();
            dataSets.add(set1);

            BarData data = new BarData(dataSets);
            data.setValueTextSize(2f);
            data.setValueTypeface(tfLight);
            data.setBarWidth(barWidth);
            chart1.setData(data);
           // chart1.groupBars(0f, groupSpace, barSpace);
            chart1.setFitBars(true);
            chart.setData(data);
            chart.setFitBars(true);
            chart_modality.setData(data);
            chart_modality.setFitBars(true);
            chart_support.setData(data);
            chart_support.setFitBars(true);
        }
    }

    public class CustomXAxisRenderer extends XAxisRenderer {
        public CustomXAxisRenderer(ViewPortHandler viewPortHandler, XAxis xAxis1, Transformer trans) {
            super(viewPortHandler, xAxis1, trans);
        }

        @Override
        protected void drawLabel(Canvas c, String formattedLabel, float x, float y,
                                 MPPointF anchor, float angleDegrees) {
            String line[] = formattedLabel.split("\n");
            Utils.drawXAxisValue(c, line[0], x, y, mAxisLabelPaint, anchor, angleDegrees);
            for (int i = 1; i < line.length; i++) { // we've already processed 1st line
                Utils.drawXAxisValue(c, line[i], x, y + mAxisLabelPaint.getTextSize() * i,
                        mAxisLabelPaint, anchor, angleDegrees);
            }
        }
    }
 xAxis1.setValueFormatter(new ValueFormatter() {
                                            @Override
                                            public String getFormattedValue(float value) {

                                                    if (value < 0 || value > taskTypes.size() - 1) {
                                                        return "";
                                                    }
                                                    String valueStr = String.valueOf(taskTypes);
                                                    String[] taskList= valueStr.split(",");
                                                    return taskList[(int)value];
                                            }
                                        });
                                        xAxis1.setGranularity(1);
                                        xAxis1.setCenterAxisLabels(true);
                                        xAxis1.setTextSize(8f);
                                        xAxis1.setLabelRotationAngle(-30f);
                                        xAxis1.setLabelCount(taskTypes.size());
                                        xAxis1.setGranularityEnabled(true);
implementation project(':MPChartLib')
@Override
public String getFormattedValue(float value) {
   if (value < 0 || value > taskTypes.size() - 1) {
        return ""
    }
    String valueStr = String.valueOf(taskTypes);
    String[] taskList= valueStr.split(",");
    return taskList[(int)value];
}
xAxis1.setLabelRotationAngle(-50f);
xAxis1.setTextSize(8f);
float barWidth = 0.9f;
values.add(new BarEntry(i, val, getResources().getDrawable(R.drawable.ic_launcher)));
public class CustomXAxisRenderer extends XAxisRenderer {
public CustomXAxisRenderer(ViewPortHandler viewPortHandler, XAxis xAxis, Transformer trans) {
super(viewPortHandler, xAxis, trans);
}

@Override
protected void drawLabel(Canvas c, String formattedLabel, float x, float y, MPPointF anchor, float angleDegrees) {
String line[] = formattedLabel.split(" ");
Utils.drawXAxisValue(c, line[0], x, y, mAxisLabelPaint, anchor, angleDegrees);
if (line.length >1)
Utils.drawXAxisValue(c, line[1], x + mAxisLabelPaint.getTextSize(), y + mAxisLabelPaint.getTextSize(), mAxisLabelPaint, anchor, angleDegrees);
}
}