android

时间:2017-04-13 09:24:19

标签: android logarithm graphing

我希望我的应用程序能够显示frequency response图形,但我找不到任何具有此功能的图形库。我目前正在使用MPAndroidChart 用于其他一些图表(这很棒!)但遗憾的是我找不到任何方法来使用它来制作日志图。我也尝试过使用numAndroidCharts(numcharts logplot example),但是这个库似乎已经过时/过时,因为我甚至无法让示例代码正常工作。无论如何你知道要实现这个吗?

1 个答案:

答案 0 :(得分:1)

我使用带有转换值的对数刻度的MPAndroidChart

例如,如果您的值为1E-5

value = 1E-5;
Entry entry = new Entry();
entry.setX(Math.log10(value)); // entry.getX() will return -5

因为您的值现在为-5,您需要创建一个AxisFormatter来表明它实际上代表一个对数值:

public class Log10AxisValueFormatter implements IAxisValueFormatter {
    @Override
    public String getFormattedValue(float value, AxisBase axis) {
        return String.format(Locale.ENGLISH, "%.2E", Math.pow(10,value));
    }
}

创建图表时,需要在轴上设置此实例:

XAxis xAxis = chart.getXAxis();
xAxis.setValueFormatter(new Log10AxisValueFormatter());