Morris.Line js无法将年份更改为月份

时间:2018-08-02 14:24:27

标签: javascript html linechart morris.js

我正在尝试使用Morris.js源创建折线图,但我希望在图表中放置几个​​月而不是示例年份。现在的问题是,当我更改图表的years字段不再起作用时,我在下面添加了两个示例,第一个是工作年版本,第二个是非工作月版本。

如果有人可以看到我要去哪里错了,或者我错过了一些很有帮助的东西。

先谢谢了。

图表年份

new Morris.Line({
  // ID of the element in which to draw the chart.
  element: 'monthlyReport',
  // Chart data records -- each entry in this array corresponds to a point on
  // the chart.
  data: [{
      year: '2008',
      value: 20
    },
    {
      year: '2009',
      value: 10
    },
    {
      year: '2010',
      value: 5
    },
    {
      year: '2011',
      value: 5
    },
    {
      year: '2012',
      value: 20
    }
  ],
  // The name of the data record attribute that contains x-values.
  xkey: 'year',
  // A list of names of data record attributes that contain y-values.
  ykeys: ['value'],
  // Labels for the ykeys -- will be displayed when you hover over the
  // chart.
  labels: ['Value']
});
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js"></script>
<div id="monthlyReport" style="height: 500px;width:50%;margin-left:25%;margin-bottom:100px;"></div>

图表月份

new Morris.Line({
  // ID of the element in which to draw the chart.
  element: 'monthlyReport',
  // Chart data records -- each entry in this array corresponds to a point on
  // the chart.
  data: [{
      month: 'Jan',
      value: 20
    },
    {
      month: 'Feb',
      value: 10
    },
    {
      month: 'Mar',
      value: 5
    },
    {
      month: 'Apr',
      value: 5
    },
    {
      month: 'May',
      value: 20
    }
  ],
  // The name of the data record attribute that contains x-values.
  xkey: 'month',
  // A list of names of data record attributes that contain y-values.
  ykeys: ['value'],
  // Labels for the ykeys -- will be displayed when you hover over the
  // chart.
  labels: ['Value']
});
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js"></script>
<div id="monthlyReport" style="height: 500px;width:50%;margin-left:25%;margin-bottom:100px;"></div>

2 个答案:

答案 0 :(得分:0)

这是因为键值必须为数字。对于year,您使用的是数值(2008-2012),但是在第二个示例中,您为每个month使用一个字符串。用数字替换键值,它将起作用。

使用以下指南将Morris.line配置为显示您的月份名称:https://morrisjs.github.io/morris.js/lines.html

答案 1 :(得分:0)

您可以尝试将选项 parseTime 设置为 false