我在我的图表中使用 mpandroidchart 库,其中我显示了一周的一天数据,总共7天。
对于每一天,我希望标签是当天的名字(星期日,星期一,星期二......)。 但是,标签是数字(0,1,2,...)。
如何自定义标签以显示字符串而不是整数?
答案 0 :(得分:1)
使用大于或等于3.0.1库的版本,并在代码中添加以下行:
XAxis xAxis = chart.getXAxis();
xAxis.setValueFormatter(new IndexAxisValueFormatter(getXAxisValues()));
还创建以下方法:
private ArrayList<String> getXAxisValues()
{
ArrayList<String> labels = new ArrayList<String> ();
labels.add( "SUN");
labels.add( "MON");
labels.add( "TUE");
labels.add( "WED");
labels.add( "THU");
labels.add( "FRI");
labels.add( "SAT");
return labels;
}
答案 1 :(得分:1)
您可以使用自定义Formatter,您只需要创建一个类并设置轴
XAxis xAxis = chart.getXAxis();
xAxis.setValueFormatter(new DayFormatter());
Formatter的自定义类
public class DayFormatter implements IAxisValueFormatter {
@Override
public String getFormattedValue(float value, AxisBase axis) {
return getDay((int) value);
}
String getDay(int day) {
switch (day) {
case 1:
return "Monday";
default:
return "";
}
}}
答案 2 :(得分:0)
你可以这样做。
// creating data values
ArrayList<Entry> entries = new ArrayList<>();
entries.add(new Entry(30f, 0));
entries.add(new Entry(12f, 1));
entries.add(new Entry(12f, 2));
// creating labels
ArrayList<String> labels = new ArrayList<>();
labels.add("Disability");
labels.add("Environment");
labels.add("Food and Farming");
// Colors
Integer[] colors = new Integer[]{Color.GREEN, Color.YELLOW, Color.RED};
//Set entries in PieDataSet
PieDataSet pieDataSet = new PieDataSet(entries, "");
pieDataSet.setDrawValues(false);
pieDataSet.setColors(Arrays.asList(colors));
// pieDataSet.setColors(ColorTemplate.COLORFUL_COLORS); // set the color
// Set Data in PieData and PieChart
PieData data = new PieData(labels, pieDataSet); // initialize PieData
pieChartSupport.setCenterText(getString(R.string.chart_center_text));
pieChartSupport.setData(data);
pieChartSupport.setHoleRadius(80);
pieChartSupport.setDrawSliceText(false);
pieChartSupport.setDescription(getString(R.string.supports));
pieChartSupport.setDrawSliceText(false);
这是如何在MPAndroidChart Library提供的PieChart中添加天数。