如何使用morris.js更改x轴精度?

时间:2014-05-08 02:04:29

标签: graph morris.js

我有一个图表,它绘制了沿x轴的日期和y轴上的小时数。

如果我显示7天的数据,x轴显示每个日期和图表看起来不错:

enter image description here

当我将8周的数据投入图表时,morris.js会自动调整x轴标签的精度,以显示更少的日期(太棒了!)但不是对绘图点进行相同的调整,因此图形如下所示:

enter image description here

如何使它如此morris.js只在每个标签间隔放置绘图点?

这是显示图表的代码:

$ ->
  new Morris.Line(
    element: 'naps_chart',
    data: $('#naps_chart').data('naps'),
    xkey: 'happened_at',
    ykeys: ['time'],
    labels: ['Hours']
  );

4 个答案:

答案 0 :(得分:2)

我发现此问题的最简单/最佳解决方案是设置pointSize: 0并简化图表。它仍然显示悬停的情节点,看起来好多了。

enter image description here

答案 1 :(得分:1)

尝试使用此设置

xLabelAngle: 45,

然后您可以看到您的图表如下图所示 enter image description here

答案 2 :(得分:0)

我自己是这个领域的新手,所以如果你已经考虑并考虑到这一点,请原谅我:时间规范是否需要更精确或描述性的格式让“莫里斯”理解它? 例如(来自本网站,我发现在这个领域有用:http://www.oesmith.co.uk/morris.js/lines.html):

- parseTime设置为false以跳过解析X值的时间/日期,而不是将它们视为等间距系列。

- yLabelFormat一种接受y值并将其格式化以显示为y轴标签的函数。 例如:function(y){return y.toString()+'km'; }

该网站应提供更多“洞察力”(请原谅双关语),可能只需要执行另一个或稍微不同的操作或命令来执行x轴方程值的正确分割。

希望这会有所帮助,甚至一点点。

答案 3 :(得分:0)

xLabelMargin:10,

中试试
 Morris.Bar({
//
xLabelMargin: 10,

//

});