为Morris条形图设置最大轴值或范围步长?

时间:2015-08-09 10:37:14

标签: morris.js

我想知道是否可以在条形图上设置最大轴值(例如,我希望我的数据的最高点是y轴的顶端)?我看到在线图上有ymin和ymax的选项,但我似乎无法找到有关条形图的任何信息。

此外,如果有人知道如何强制轴线之间的范围是一定的量(比如每行增加250而不是生成的数量,在我的情况下对我来说太高了),将会很有帮助。

4 个答案:

答案 0 :(得分:11)

  • 设置Morris.Bar({ element: 'bar-example', data: [ { y: '2006', a: 100, b: 90 }, { y: '2007', a: 75, b: 65 }, { y: '2008', a: 50, b: 40 }, { y: '2009', a: 75, b: 65 }, { y: '2010', a: 50, b: 40 }, { y: '2011', a: 75, b: 65 }, { y: '2012', a: 100, b: 90 } ], xkey: 'y', ymax: 300, // set this value according to your liking ykeys: ['a', 'b'], labels: ['Series A', 'Series B'] });
  • 的最大值

您确实可以为条形图设置y(即使没有记录)。

y

y轴设置为此最大值:

0.16.2 documentation

  • 设置Morris.Bar轴的范围值

似乎无法为@Scheduled轴设置范围值。此值似乎是根据传递给@Scheduled的数据值计算的。

答案 1 :(得分:6)

未记录,但您可以通过应用ymax设置最大y。您可以通过设置numLines来操纵范围(也没有记录)。

E.g。

var chart = new Morris.Bar({
...
    ymin: 0,
    ymax: 7,
    numLines: 8,
...
});

上面定义的图表将显示0到7之间的值,并显示0到7之间的每个整数的网格线(因此8作为参数)

答案 2 :(得分:0)

要更改为ymax,请调用此

chart.options["ymax"] = 300;

图表是图表变量

答案 3 :(得分:0)

我希望数据的最高点是 y 轴的顶端

文档非常稀疏且令人困惑,但使用 ymin 变量可以做到这一点,该变量仅记录在 Lines & Area Charts 中。该变量的默认值似乎是 auto 0,将其更改为 auto 似乎会产生所需的结果,如下所示。

ymin:auto

如何强制轴车道之间的范围为一定量

这在本地似乎是不可能的。但是,您可以使用以下功能破解轴标签。它会将值四舍五入到 250 的倍数 但是 网格线不会在显示的数字处。例如。假设网格线位于 570。下面的函数会将标签更改为 500,但该线仍会显示在 570 标记处。

yLabelFormat: function(d) {
    return Math.round(d) - (Math.round(d) % 250);
},

正如其他人提到的,您可以将 ymax 设置为您希望上限的值,但由于您希望最高数据点作为上限,请将 ymax 设置为 {{ 1}}。您也可以尝试将 auto 更改为不同的值以获得更好的美感。