我使用Bootstrap 3和bootstrap grid layout并想要渲染C3饼图,但C3饼图在列中不可见。如果我不使用引导网格布局,则图表可见。
HTML
<div class="row">
<div class="col-md-6" id="fst-chart">
</div>
<div class="col-md-6" id="snd-chart">
</div>
</div>
的javascript
var chart = c3.generate({
bindto: '#snd-chart',
size: {
width: 300
//height: 300
},
padding: {
top: 10,
left: 200
},
legend: {
position: 'right'
},
tooltip: {
format: {
value: function (value, ratio, id, index) { return "ratio: " + ratio + " value: " + value; }
}
},
data: {
// iris data from R
columns: [
['data1', 30],
['data2', 120]
],
type : 'pie',
onclick: function (d, i) { console.log("onclick", d, i); }
}
});
setTimeout(function () {
chart.load({
columns: [
["setosa", 0.2, 0.2, 0.2, 0.2, 0.2, 0.4, 0.3, 0.2, 0.2, 0.1, 0.2, 0.2, 0.1, 0.1, 0.2, 0.4, 0.4, 0.3, 0.3, 0.3, 0.2, 0.4, 0.2, 0.5, 0.2, 0.2, 0.4, 0.2, 0.2, 0.2, 0.2, 0.4, 0.1, 0.2, 0.2, 0.2, 0.2, 0.1, 0.2, 0.2, 0.3, 0.3, 0.2, 0.6, 0.4, 0.3, 0.2, 0.2, 0.2, 0.2],
["versicolor", 1.4, 1.5, 1.5, 1.3, 1.5, 1.3, 1.6, 1.0, 1.3, 1.4, 1.0, 1.5, 1.0, 1.4, 1.3, 1.4, 1.5, 1.0, 1.5, 1.1, 1.8, 1.3, 1.5, 1.2, 1.3, 1.4, 1.4, 1.7, 1.5, 1.0, 1.1, 1.0, 1.2, 1.6, 1.5, 1.6, 1.5, 1.3, 1.3, 1.3, 1.2, 1.4, 1.2, 1.0, 1.3, 1.2, 1.3, 1.3, 1.1, 1.3],
["virginica", 2.5, 1.9, 2.1, 1.8, 2.2, 2.1, 1.7, 1.8, 1.8, 2.5, 2.0, 1.9, 2.1, 2.0, 2.4, 2.3, 1.8, 2.2, 2.3, 1.5, 2.3, 2.0, 2.0, 1.8, 2.1, 1.8, 1.8, 1.8, 2.1, 1.6, 1.9, 2.0, 2.2, 1.5, 1.4, 2.3, 2.4, 1.8, 1.8, 2.1, 2.4, 2.3, 1.9, 2.3, 2.5, 2.3, 1.9, 2.0, 2.3, 1.8]
]
});
}, 1500);
setTimeout(function () {
chart.unload({
ids: 'data1'
});
chart.unload({
ids: 'data2'
});
}, 2500);
答案 0 :(得分:6)
尝试将图表绘制到bootstrap列中的div。
<div class="row">
<div class="col-md-6">
<p>Col #1</p>
</div>
<div class="col-md-6">
<div id="snd-chart">
</div>
</div>
</div>
(我只是将占位符文本放在第一列中,因为在此示例中您似乎没有绘制该图表。)