第一个和最后一个标签仅在android中显示,使用MpchartAndroid Library for Barchart
我有一个数据集,它有大约10个x轴标签。我的条形图未显示x轴上的所有标签 仅显示第一个和最后一个标签。我必须在条形图中显示所有10个x轴标签 下面是图像的参考 你可以试试这些 一,- 3- 四,- 五,- 6- 你可以试试这些 一,- 3- 四,- 五,- 6-第一个和最后一个标签仅在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跟
遵循这个@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);
}
}