我目前正在使用 AndroidPlot 来显示动态 XY 图。通常显示此数据的 Python 脚本还包括使用 Matplotlib 以对数刻度绘制数据的能力。是否有可能使用 AndroidPlot 获得对数 Y 轴,或者甚至任何类型的带有不等距值明智的刻度的 y 轴?
感谢您的帮助。
最佳答案
您当然可以使用 Androidplot 做到这一点,但它并不像设置配置参数那么简单。
最简单的方法可能是扩展 XYSeries 的实现并调整 getY(int)
方法以返回日志值而不是原始值。例如,仅在 y 轴上实现 log10:
class LogXYSeries extends SimpleXYSeries {
public LogXYSeries(String title) {
super(title);
}
@Override
public Number getY(int index) {
final Number rawY = super.getY(index);
if(rawY != null) {
Math.log10(rawY.doubleValue());
}
return null;
}
}
就刻度而言,您可以将它们配置为以固定值增量或可见值范围的均匀分割显示(默认为适合系列数据中的最小值/最大值,但您可以手动设置它如果你更喜欢。) 。我想分割将是您使用对数刻度寻找的东西。
如果我误解了您要完成的任务,而您只想将对数刻度应用于刻度标签,您也可以这样做。有一个 example of setting a custom formatter在 XYPlots 的域和范围标签文档中。
关于java - AndroidPlot 对数轴?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45513817/