【问题标题】:Rounding y-value labels with Morris.js charts使用 Morris.js 图表舍入 y 值标签
【发布时间】:2013-01-01 19:12:59
【问题描述】:

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

目前,yLabel 由 morris.js 使用 JSON 数据的值范围(其中 x 轴是时间)自动生成。在我的示例 JSON 中,值的范围从 54 到 -47,因此生成的 yLabels 是 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值?

【问题讨论】:

    标签: javascript morris.js


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2016-04-12
        • 1970-01-01
        • 2013-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-17
        • 1970-01-01
        相关资源
        最近更新 更多