我想知道是否可以在条形图上设置最大轴值(例如,我希望我的数据的最高点是y轴的顶端)?我看到在线图上有ymin和ymax的选项,但我似乎无法找到有关条形图的任何信息。
此外,如果有人知道如何强制轴线之间的范围是一定的量(比如每行增加250而不是生成的数量,在我的情况下对我来说太高了),将会很有帮助。
答案 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
轴设置为此最大值:
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
似乎会产生所需的结果,如下所示。
如何强制轴车道之间的范围为一定量
这在本地似乎是不可能的。但是,您可以使用以下功能破解轴标签。它会将值四舍五入到 250 的倍数 但是 网格线不会在显示的数字处。例如。假设网格线位于 570。下面的函数会将标签更改为 500,但该线仍会显示在 570 标记处。
yLabelFormat: function(d) {
return Math.round(d) - (Math.round(d) % 250);
},
正如其他人提到的,您可以将 ymax
设置为您希望上限的值,但由于您希望最高数据点作为上限,请将 ymax
设置为 {{ 1}}。您也可以尝试将 auto
更改为不同的值以获得更好的美感。