我正在尝试使用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>
答案 0 :(得分:0)
这是因为键值必须为数字。对于year
,您使用的是数值(2008-2012),但是在第二个示例中,您为每个month
使用一个字符串。用数字替换键值,它将起作用。
使用以下指南将Morris.line
配置为显示您的月份名称:https://morrisjs.github.io/morris.js/lines.html
答案 1 :(得分:0)
您可以尝试将选项 parseTime 设置为 false 。