AndroidPlot对数轴?

时间:2017-08-04 19:00:47

标签: java android androidplot

我目前正在使用AndroidPlot来显示动态XY图。通常显示此数据的Python脚本还包括使用Matplotlib以对数标度绘制数据图的功能。是否有可能使用AndroidPlot具有对数Y轴,或者甚至任何类型的y轴具有不等间距值的刻度?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

你可以使用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;
        }
}

就刻度而言,您可以将它们配置为以固定值增量显示或作为可见值范围的偶数细分(默认为适合系列数据中的最小值/最大值,但您可以手动设置此值如果你更喜欢。) 。我想像细分将是你正在寻找的对数刻度。

如果我误解了你想要完成的任务,你只想将对数刻度应用于刻度标签,你也可以这样做。 Domain&中有一个example of setting a custom formatter。 XYPlots的范围标签文档。