dygraphs可以自定义x轴缩放吗

Can dygraphs customize x-axis scaling

我正在评估从 JFreeChart 到 dygraphs 的转换,但我正在寻找一种在 x 轴上具有 1-log(x) 值的方法;主要刻度(距离相等)将是 90%、99%、99.9%、99.99% 等等。是否可以提供转换功能

a) 从数据到图表中的位置

b) 可视化转换(我可以生成标准化形式的数据,但所有标签都应该转换)

搜索 logscale 显示没有一个地方可以设置 linear/logarithmic 转换,所以我对 a) 持怀疑态度。

谢谢(请注意,JFreeChart 自然不会提供开箱即用的功能,但由于我更精通 Java,所以我能够一起解决这个问题)。

您可以编写自定义 ticker for the x-axis to make dygraphs show whatever you like. The docs reference this explanatory comment in the implementation. See this answer 以获取一些灵感。

g = new Dygraph(div, data, {
  axes: {
    x: {
      ticker(min, max, pixels, opts, dygraph, vals) {
        return [
          { v: 0.9, label:'90%' },
          { v: 0.99, label: '99%' },
          { v: 0.999, label: '99.9%' }
        ];
      }
    }
  }
});

至于在对数尺度上渲染,最好的办法是在将 x 值传递给 dygraphs 之前转换它们,然后将它们转换回显示(使用 valueFormatter)。