我想绘制如下所示的甘特图
在图表 js 中没有绘制甘特图的选项。可能吗??如果不可能,请建议我一些图表库来绘制这样的图表
原文由 Arunkumar 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想绘制如下所示的甘特图
在图表 js 中没有绘制甘特图的选项。可能吗??如果不可能,请建议我一些图表库来绘制这样的图表
原文由 Arunkumar 发布,翻译遵循 CC BY-SA 4.0 许可协议
编辑 对于需要为单个 Y 值显示多个条的更复杂的情况,此方法将无法有效地工作。
我会使用两个数据集的 堆叠水平 条形图。第一个数据集将是透明的,用于抵消作为您的实际数据的第二个数据集。下面的代码也可以防止工具提示出现在第一个数据集上。
http://codepen.io/pursianKatze/pen/OmbWvZ?editors=1111
[示例代码]
var barOptions_stacked = {
hover :{
animationDuration:10
},
scales: {
xAxes: [{
label:"Duration",
ticks: {
beginAtZero:true,
fontFamily: "'Open Sans Bold', sans-serif",
fontSize:11
},
scaleLabel:{
display:false
},
gridLines: {
},
stacked: true
}],
yAxes: [{
gridLines: {
display:false,
color: "#fff",
zeroLineColor: "#fff",
zeroLineWidth: 0
},
ticks: {
fontFamily: "'Open Sans Bold', sans-serif",
fontSize:11
},
stacked: true
}]
},
legend:{
display:false
},
};
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
type: 'horizontalBar',
data: {
labels: ["1", "2", "3", "4"],
datasets: [{
data: [50,150, 300, 400, 500],
backgroundColor: "rgba(63,103,126,0)",
hoverBackgroundColor: "rgba(50,90,100,0)"
},{
data: [100, 100, 200, 200, 100],
backgroundColor: ['red', 'green', 'blue', 'yellow'],
}]
},
options: barOptions_stacked,
});
// this part to make the tooltip only active on your real dataset
var originalGetElementAtEvent = myChart.getElementAtEvent;
myChart.getElementAtEvent = function (e) {
return originalGetElementAtEvent.apply(this, arguments).filter(function (e) {
return e._datasetIndex === 1;
});
}
.graph_container{
display:block;
width:600px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.1.3/Chart.js"></script>
<html>
<body>
<div class="graph_container">
<canvas id="myChart"></canvas>
</div>
</body>
</html>
原文由 SMir 发布,翻译遵循 CC BY-SA 3.0 许可协议
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
6 回答820 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
我建议你 散点图。在散点图中,您可以绘制多条独立的线。从下图中可以看出。
[ 示例代码]
像颜色一样保留配置,或者如果你想隐藏 y 轴,请根据你的项目要求进行。