Custom Visualization Rendering issues

I’m trying to convert the funnelarea plot here for use in Looker. 

When I use this JS, I am able to render the “Ready to render!” text, but I can’t seem to get the funnel plot to actually render. For now, I’m not even trying to pass data through, I’m sure I can figure that out easily enough. But I’m just testing to get the visuals displayed with static data for now. 

Does anyone have any suggestions? 

looker.plugins.visualizations.add({
id: "blank_funnel",
label: "Blank Funnel",
options: {
font_size: {
type: "string",
label: "Font Size",
values: [
{"Large": "large"},
{"Small": "small"}
],
display: "radio",
default: "large"
}
},

create: function(element, config){
element.innerHTML = `<h1>Ready to render!</h1>`;
},
updateAsync: function(data, element, config, queryResponse, details, doneRendering){
var html = `
<head>
<!-- Load plotly.js into the DOM -->
<script src='https://cdn.plot.ly/plotly-2.12.1.min.js'></script>
</head>
<body>
<div id='myDiv'><!-- Plotly chart will be drawn inside this DIV --></div>
</body>`;

var gd = element.innerHTML.document.getElementById('myDiv');
var df = [{type: 'funnelarea', values: [5, 4, 3, 2, 1], text: ["The 1st", "The 2nd", "The 3rd", "The 4th", "The 5th"],
marker: {colors: ["59D4E8", "DDB6C6", "A696C8", "67EACA", "94D2E6"],
line: {color: ["3E4E88", "606470", "3E4E88", "606470", "3E4E88"], width: [2, 1, 5, 0, 3]}},
textfont: {family: "Old Standard TT", size: 13, color: "black"}, opacity: 0.65}];

var layout = {margin: {l: 200 , r: 200}, funnelmode: "stack", showlegend: 'True'}

html += Plotly.newPlot(element.innerHTML, df, layout);

element.innerHTML = html;
doneRendering()
}
});
1 0 203