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