java - AndroidPlot 对数轴?

标签 java android androidplot

我目前正在使用 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/

相关文章:

java - 我能否将 main() 方法声明为同步的,以避免 .jar 文件(仅由 main() 组成)同时执行两次?

java - Android:将可序列化对象传递给 Activity 时出现 ClassNotFoundException

android - Firebase 云消息传递 : notification one-to-one

Android SQLite 滞后

java - Android - Java 中的 LinearGradient 多种颜色

具有新的 android-full-screen Activity 的 androidplot 不填满屏幕

java - 即使索引在范围内,从 ArrayList 检索第 N 个项目也会给出 IndexOutOfBoundsException?

java - Stackoverflow 类似于 Struts2 或 JSP 的 URL

java - 如何从 fragment 内调用 asyncTask 到外部服务

Android 在 x 角度上绘制固定值