android - Mpandroid 美容问题

标签 android mpandroidchart

我有如下图:

enter image description here

我愿意:

-去除水平线

-将数字绘制为 int 与 float。例如:绘制 12 而不是 12.0

-去掉右下角的“描述”标签

这是我的部分代码:

public void createChart(com.github.mikephil.charting.charts.BarChart 图表,字符串周期){ BarData数据;

    switch (period) {
        case "days":
            data = new BarData(getXAxisDays(), getDataSetDays());
            break;
        case "months":
            data = new BarData(getXAxisMonths(), getDataSetMonths());
            break;
        default:
            data = new BarData(getXAxisYears(), getDataSetYears());
            break;
    }

    chart.setData(data);
//    chart.setDescription("My Chart");
    chart.animateXY(2000, 2000);
    chart.invalidate();
    chart.setPinchZoom(true);
}

private ArrayList<BarDataSet> getDataSetDays() {
    ArrayList<BarDataSet> dataSets;

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

    for(int i=0;i<NBDAYS;i++){
        vdays[i] = new BarEntry((float) days[i], i);
        valueSet1.add(vdays[i]);
    }

    BarDataSet barDataSet1 = new BarDataSet(valueSet1, "Score");
    barDataSet1.setColor(Color.rgb(0, 155, 0));
    dataSets = new ArrayList<>();
    dataSets.add(barDataSet1);

    return dataSets;
}

   private ArrayList<String> getXAxisDays() {
        ArrayList<String> xAxis_days = new ArrayList<>();
        if (lang == 0) {
            xAxis_days.add("Mon");
            xAxis_days.add("Tue");
            xAxis_days.add("Wed");
            xAxis_days.add("Thu");
            xAxis_days.add("Fri");
            xAxis_days.add("Sat");
            xAxis_days.add("Sun");
        }
        else{
            xAxis_days.add("LUNDI");
            xAxis_days.add("MARDI");
            xAxis_days.add("MERCREDI");
            xAxis_days.add("JEUDI");
            xAxis_days.add("VENDREDI");
            xAxis_days.add("SAMEDI");
            xAxis_days.add("DIMANCHE");
        }
        return xAxis_days;
    }

最佳答案

以下代码适用于所有图表。

 PieData data = new PieData(xVals, dataSet);
    data.setValueFormatter(new PiechartValueFormatter());

这是 PiechartValueFormatter 类的代码

public class PiechartValueFormatter implements ValueFormatter, com.github.mikephil.charting.formatter.YAxisValueFormatter {

protected DecimalFormat mFormat;

public PaichartValueFormatter() {
    mFormat = new DecimalFormat("###,###,##0");
}

/**
 * Allow a custom decimalformat
 *
 * @param format
 */
public PiechartValueFormatter(DecimalFormat format) {
    this.mFormat = format;
}

// ValueFormatter
@Override
public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {

        return mFormat.format(value);

}


@Override
public String getFormattedValue(float value, YAxis yAxis) {

         return mFormat.format(value);
}

关于android - Mpandroid 美容问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37713247/

相关文章:

android - MPAndroidChart 避免数据点的标签裁剪

android - 绑定(bind)适配器无效元素问题

java - VB Msgbox 到 Java 警报

android - MPAndroidChart 使用 Proguard 编译错误

android - 应用拒绝安装 - INSTALL_FAILED_MISSING_SHARED_LIBRARY

android - MPAndroidChart 在缩放时更改数据值

Android FCM 向用户发送消息

java - 当我单击两个重叠的 ImageView 时,其中一个给了我反馈,另一个则没有

android - TextInputLayout 提示文本颜色在焦点上改变

android - Google Play 音乐应用的歌曲轨道信息