在 androidplot XYPlot 中,如果您有较大的值(许多数字)和/或较大的字体大小,则 Y 轴上的刻度标签会被剪裁。这个(以及 X 轴上的类似问题)之前已经在这些问题中讨论过:

  • Range field in Android Plot (0.6.1.) is not showing the entire number
  • Androidplot - X-Axis labels cut off
  • https://groups.google.com/forum/#!topic/androidplot/b0zLJl9Bx-0
  • https://groups.google.com/forum/#!topic/androidplot/w4EK4B_W-74

  • 答案总是添加更多的填充和/或边距,以便为标签提供足够的空间。

    我的问题是 :我怎样才能设置填充/边距让 恰到好处的 空间?

    简单地将左边距硬编码为某个值是次优的解决方案。假设我想绘制一些数据,但我事先不知道 Y 值是在 [0,9] 范围内还是在 [10000,20000] 范围内。如何设置填充/边距以避免剪切和不必要的空白空间?

    最佳答案

    我能找到的最好的解决方法是:

    int digits = (int) Math.floor(Math.log10(absmax)) + 1;
    float leftpad = digits * fontsize/2;
    myplot.getGraphWidget().setPaddingLeft(leftpad);
    

    其中 absmax 是数据中的最大绝对值。

    关于Androidplot:将填充/边距设置为(完美)容纳轴标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28925086/

    10-12 03:31