如何从 android 中的栏上方删除小数
How to remove decimals from above of the bar in android
你好,在下面的代码中想要更改左 yaxis 值想要显示 2 的倍数并且想要在条形上方显示整数。
谁能帮帮我
private void setData_chart(int count, float range) {
float barWidth = 0.9f;
ArrayList<BarEntry> values = new ArrayList<>();
for (int i = 0; i < count; i++) {
float val = Math.round((float) (Math.random() * range));
values.add(new BarEntry(i, 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, "");
int endColor1 = ContextCompat.getColor(getContext(), R.color.linecolor);
set1.setColors(endColor1);
set1.setDrawIcons(false);
dataSets = new ArrayList<>();
dataSets.add(set1);
BarData data = new BarData(dataSets);
data.setValueTextSize(12f);
data.setValueTypeface(tfLight);
data.setBarWidth(barWidth);
chart1.setData(data);
}
}
为此,您必须单独创建 ValueFormatter
并将其绑定到您的图表数据。
public class MyDecimalValueFormatter implements ValueFormatter {
private DecimalFormat mFormat;
public MyDecimalValueFormatter() {
mFormat = new DecimalFormat("#");
}
@Override
public String getFormattedValue(float value) {
return mFormat.format(value);
}
}
然后像下面这样设置
MyDecimalValueFormatter formatter = new MyDecimalValueFormatter();
BarData data = new BarData(dataSets);
data.setValueTextSize(12f);
data.setValueTypeface(tfLight);
data.setBarWidth(barWidth);
data.setValueFormatter(formatter)
chart1.setData(data);
你好,在下面的代码中想要更改左 yaxis 值想要显示 2 的倍数并且想要在条形上方显示整数。
谁能帮帮我
private void setData_chart(int count, float range) {
float barWidth = 0.9f;
ArrayList<BarEntry> values = new ArrayList<>();
for (int i = 0; i < count; i++) {
float val = Math.round((float) (Math.random() * range));
values.add(new BarEntry(i, 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, "");
int endColor1 = ContextCompat.getColor(getContext(), R.color.linecolor);
set1.setColors(endColor1);
set1.setDrawIcons(false);
dataSets = new ArrayList<>();
dataSets.add(set1);
BarData data = new BarData(dataSets);
data.setValueTextSize(12f);
data.setValueTypeface(tfLight);
data.setBarWidth(barWidth);
chart1.setData(data);
}
}
为此,您必须单独创建 ValueFormatter
并将其绑定到您的图表数据。
public class MyDecimalValueFormatter implements ValueFormatter {
private DecimalFormat mFormat;
public MyDecimalValueFormatter() {
mFormat = new DecimalFormat("#");
}
@Override
public String getFormattedValue(float value) {
return mFormat.format(value);
}
}
然后像下面这样设置
MyDecimalValueFormatter formatter = new MyDecimalValueFormatter();
BarData data = new BarData(dataSets);
data.setValueTextSize(12f);
data.setValueTypeface(tfLight);
data.setBarWidth(barWidth);
data.setValueFormatter(formatter)
chart1.setData(data);