我正在尝试使用CanvasJS库生成范围条形图。
我看过几个范围条形图的演示,但没有使用日期范围 - 不确定这是否是一个问题,或者是否可能。
为了让我更难以动态创建它 - 我需要从html span元素中检索日期值。
以下是我的代码:
window.onload = function() {
var chart = new CanvasJS.Chart("chartContainer", {
title: {
text: "Task Timeline"
},
axisY: {
includeZero: false,
interval: 2,
valueFormatString: "DD-MMM-YYYY",
minimum: $(".StartDateCase").text(),
maximum: $(".EndDateCase").text()
},
axisX: {
interval: 1,
minimum: 0
},
data: [{
type: "rangeBar",
yValueFormatString: "DD-MM-YYYY",
dataPoints: [{
x: "1",
y: [new Date($(".StartDate1").text()), new Date($(".DueDate1").text())]
}, {
x: "2",
y: [new Date($(".StartDate2").text()), new Date($(".DueDate2").text())]
}, {
x: "3",
y: [new Date($(".StartDate3").text()), new Date($(".DueDate3").text())]
}, ]
}]
});
chart.render();
}
span {
display: none;
}
<script src="http://canvasjs.com/assets/script/canvasjs.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="chartContainer" style="height: 300px; width: 100%;"></div>
<span class="StartDate1">2015,01,19</span>
<span class="DueDate1">2015,01,20</span>
<span class="StartDate2">2015,01,21</span>
<span class="DueDate2">2015,01,23</span>
<span class="StartDate3">2015,01,26</span>
<span class="DueDate3">2015,01,26</span>
<span class="StartDateCase">2015,01,07</span>
<span class="EndDateCase">2015,02,28</span>
任何人都可以帮助我吗?