I am trying to use morrise charts to build a line chart that will display vehicles' numbers according to days among the week.
The problem is when I use String in the xKey the results appears like this:
but if I replaced them with numbers, it works fine.
Here is my code.
<div class="col-xs-6">
<label>Transports Traffic</label>
<div id="traffic_chart">
<script>
new Morris.Area({
element: 'traffic_chart',
data: [
{y: 'Sat', a: 100, b: 90, c:22},
{y: 'Sun', a: 75, b: 65, c:22},
{y: 'Mon', a: 50, b: 40, c:22},
{y: 'Tue', a: 75, b: 65, c:22},
{y: 'Wed', a: 50, b: 40, c:22},
{y: 'Thi', a: 75, b: 65, c:22},
{y: 'Fri', a: 100, b: 90, c:22}
],
xkey: 'y',
ykeys: ['a', 'b', 'c'],
labels: ['Cars', 'Bikes', 'Trucks']
});
</script>
</div>
</div>
In morrise library, the X-Key always parsed to date/time value. So in order to prevent that and use string values in X-Key you have to add this attribute
parseTime: false
It worked after I added it.
source.
Here's my example that works too.
$(function() {
Morris.Area({
element: 'morris-area-chart-days',
data: [{
day: 'Mon',
a: 95
}, {
day: 'Tue',
a: 66
}, {
day: 'Wed',
a: 86
}, {
day: 'Thu',
a: 151
}, {
day: 'Fri',
a: 115
}, {
day: 'Sat',
a: 93
}, {
day: 'Sun',
a: 38
}],
xkey: 'day',
ykeys: ['a'],
parseTime: false,
labels: ['Messages'],
pointSize: 2,
hideHover: 'auto',
resize: true
});
});
In Morrischart, if 'parseTime' set to false then it skip time/date parsing for X values, Otherwise it treating them as an equally-spaced series;the default value is parseTime:true..thats why you get the issue in above chart..So could you please insert the below line of code
parseTime:false
Rewrite code like as below,
new Morris.Area({
------
parseTime:false,
------
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With