2013-04-04 94 views
0

我们正在比较使用对数刻度的多个序列。大多数情况下,图表看起来很好,并且正确地按比例缩小/最大化数据。在下面的例子中,顶部系列被切断。唯一改变的是数据。如果我们改变任何其他选项的时间段,它会正确地重新缩放,回到1Y也有同样的问题。有没有办法解决这个问题?HighCharts对数轴问题

我的第二个问题是关于在对数刻度时网格线/标签的逻辑。默认情况下,这些步骤不应该基于Log(10),例如[0.10%,1%,10%,100%,1000%]?有没有配置选项来设置?在下面的例子中,默认值[0.10,0.20,0.40,1.00]没有多大意义。

这就是标签/蜱应该总是看起来像: jsfiddle.net/TeTMw/1

Log scale issue

编辑:

这里是highcharts代码,看起来像导致这个错误。如果你能帮助解决这个问题,那会很好。

// Second case: We need intermediary ticks. For example 
      // 1, 2, 4, 6, 8, 10, 20, 40 etc. 
     } else if (interval >= 0.08) { 
      var roundedMin = mathFloor(min), 
       intermediate, 
       i, 
       j, 
       len, 
       pos, 
       lastPos, 
       break2; 

      if (interval > 0.3) { 
       intermediate = [1, 2, 4]; 
      } else if (interval > 0.15) { // 0.2 equals five minor ticks per 1, 10, 100 etc 
       intermediate = [1, 2, 4, 6, 8]; 
      } else { // 0.1 equals ten minor ticks per 1, 10, 100 etc 
       intermediate = [1, 2, 3, 4, 5, 6, 7, 8, 9]; 
      } 

      for (i = roundedMin; i < max + 1 && !break2; i++) { 
       len = intermediate.length; 
       for (j = 0; j < len && !break2; j++) { 
        pos = log2lin(lin2log(i) * intermediate[j]); 

        if (pos > min && lastPos <= max) { 
         positions.push(lastPos); 
        } 

        if (lastPos > max) { 
         break2 = true; 
        } 
        lastPos = pos; 
       } 
      } 
+0

如何使用与对数坐标轴的比较?在Highstock中,对数刻度只允许正值。你可以在jsFiddle上重新创建示例吗? – 2013-04-05 15:24:04

回答

0
  1. 有这么登录轴可以在Highcharts 1.3.0切断一个已知的问题。这将在本周晚些时候发布的1.3.1版中解决。见https://github.com/highslide-software/highcharts.com/issues/1666

  2. 对于Y轴刻度间隔,请参阅http://api.highcharts.com/highcharts#yAxis.tickInterval。默认情况下,tickInterval为空,因此ticks的布局由tickPixelInterval决定。举例来说,如果我们跳过0.20和0.40,则tick会变得过于普遍,默认tickPixelInterval为72.

+0

谢谢你的回复Torstein。我的第二个问题不是关于tickInterval间距,而是可以选择强制log scale始终为log10 [.01,.10,1,10,100]?我没有看到标签/步骤[0.4,0.10,0.20,0.40,1.00]对于上面显示的数据有用吗? – Serge 2013-04-08 15:06:17

+0

下面是我如何期望上面的数据始终以对数形式显示http://jsfiddle.net/TeTMw/1/ – Serge 2013-04-08 15:18:47

+0

关于第二个问题,您需要重新计算值,请参阅示例:http://jsfiddle.net/TeTMw/2 / – 2013-04-09 11:14:57