4

我使用 Morris.js 绘制了一些 JSON 数据。该图工作正常,但是我试图在折线图中沿 y 轴调整标签。

目前,yLabels 由 morris.js 使用 JSON 数据的值范围(其中 x 轴是时间)自动生成。在我的示例 JSON 中,值的范围从 54 到 -47,因此生成的 yLabel 是 54、29、4、-22、-47。但是,我希望将这些值四舍五入为 -50、-25、0、25 和 50。我还希望“0”线突出,希望有不同的颜色。

当我动态创建数据时,这些不会被修复,在另一个图表中,值可能介于 -2.5 和 +2.5 之间(在这种情况下,我希望沿 y 轴的标签为 -2.5、-1.25 , 0, 1.25, 2.5)。

我将如何舍入 morris.js 正在创建的标签并使“0”行变为红色?

我曾尝试创建一个 yLabels ( yLabels: ['-50','-25','0','25','50'],) 数组,但它不起作用,即使它有我也不想“硬编码”值,因为正如我所说,每个图表都会不同并且是动态生成的。

任何帮助是极大的赞赏。

更新

在第一个示例中,我已经能够得到我想要的 ymin 和 ymax 分别为 -50 和 50,但就像我提到的,我不想硬编码这些值,因为 ymin/max 会根据正在解析的 JSON。有没有一种方法可以始终确保中线始终为 0,并且 morris 确定它上方和下方的两个 y 值?

4

2 回答 2

0

我不能使用莫里斯选项来完成。您必须进入源代码并更改morris.grid.coffee文件中的 drawGrid() 函数。

于 2013-01-14T13:54:18.360 回答
0

我在 morris.js 中增加了 gridDefaults 的 numLines 属性,并且能够显示我的 Y 轴中的所有内容。也许您可以使用该属性来以不同的方式显示您的 Y 轴。

于 2014-04-23T15:35:48.983 回答