JSFiddle - React, Tailwind, and code Playground
by Anshuman Purohit
HTML
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://www.gstatic.com/charts/loader.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<!-- Chart -->
<div class="button">
<button class="btn btn-primary" onclick="drawChart()" data-toggle="modal" data-target="#myModal" class="myModal">Chart</button>
</div>
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
<div class="chart" id="chart_div"></div>
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div>
CSS
.button {
left: 50%;
margin: 0;
position: absolute;
top: 50%;
transform: translate(-50%, -50%);
text-align: center;
}
.chart {
align-content: center;
display: flex;
justify-content: center;
}
.modal {
text-align: center;
}
@media screen and (min-width: 768px) {
.modal:before {
content: " ";
display: inline-block;
height: 100%;
vertical-align: middle;
}
}
.modal-dialog {
display: inline-block;
text-align: center;
vertical-align: middle;
}
.modal-footer {
color: #00b5e6;
font-size: 25px;
text-align: center;
}
JavaScript
google.charts.load("current", {packages:["corechart"]});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Task', 'Hours per Day'],
['Work', 11],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 7]
]);
var options = {
title: 'My Daily Activities',
is3D: true,
};
var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
chart.draw(data, options);
}