Use waffle
from @hrbrmstr to recreate another figure Fig 10.3 from the wonderful R Graph Catalog from Jennifer Bryan and Joanna Zhao. As a special bonus, you'll get an interactive version courtesy of as_rcdimple
. You can see it live here.
xxxxxxxxxx
<html>
<head>
<meta charset="utf-8"/>
<script src="htmlwidgets.js"></script>
<script src="d3.min.js"></script>
<script src="d3-grid.js"></script>
<script src="dimple.min.js"></script>
<script src="dimple.js"></script>
</head>
<body style="background-color:white;">
<div id="htmlwidget-4445" style="width:400px;height:400px;" class="dimple"></div>
<script type="application/json" data-for="htmlwidget-4445">{ "x": {
"options": {
"chart": [],
"xAxis": {
"type": "addCategoryAxis",
"showPercent": false,
"title": ""
},
"yAxis": {
"type": "addCategoryAxis",
"showPercent": false,
"title": ""
},
"zAxis": [],
"colorAxis": [],
"defaultColors": [ "#66C2A5", "#FC8D62", "#8DA0CB" ],
"layers": [],
"legend": {
"x": "20%",
"y": "95%",
"width": "70%",
"height": "5%",
"horizontalAlign": "left"
},
"y": "y",
"type": "bar",
"groups": "group",
"title": {
"text": "Fig 10.3 Presidential Approval Data Waffle Chart"
},
"tasks": [
"function(){\n this.widgetDimple[0].axes.forEach(function(ax){\n ax.shapes.remove()\n })\n }"
],
"x": "x",
"data": {
"group": [ "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "No Opinion", "No Opinion", "No Opinion", "No Opinion", "No Opinion", "No Opinion", "No Opinion", "No Opinion", "No Opinion", "No Opinion", "No Opinion", "No Opinion", "No Opinion" ],
"fill": [ "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB" ],
"x": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 ],
"y": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ],
"PANEL": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ],
"group.1": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
"xmin": [ 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5 ],
"xmax": [ 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5, 10.5, 10.5, 10.5, 10.5, 10.5, 10.5, 10.5, 10.5, 10.5, 10.5 ],
"ymin": [ 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5 ],
"ymax": [ 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5 ]
},
"barGap": 0
},
"data": {
"group": [ "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Approve", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "Disapprove", "No Opinion", "No Opinion", "No Opinion", "No Opinion", "No Opinion", "No Opinion", "No Opinion", "No Opinion", "No Opinion", "No Opinion", "No Opinion", "No Opinion", "No Opinion" ],
"fill": [ "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#66C2A5", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#FC8D62", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB", "#8DA0CB" ],
"x": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 ],
"y": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ],
"PANEL": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ],
"group.1": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
"xmin": [ 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5 ],
"xmax": [ 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 5.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 8.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5, 9.5, 10.5, 10.5, 10.5, 10.5, 10.5, 10.5, 10.5, 10.5, 10.5, 10.5 ],
"ymin": [ 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5 ],
"ymax": [ 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5 ]
}
},"evals": [ "options.tasks.0" ] }</script>
</body>
</html>