title: Cannot read property error using d3.js
body: <p>I've been trying to visualize a Parse Tree generated by a Python Script via HTML and d3.js. The Python Script generates an HMTL document that look like this:</p>
  
  <pre><code>&lt;!DOCTYPE html&gt;
  &lt;meta charset="utf-8"&gt;
  &lt;head&gt;&lt;title&gt; Tree Visualization &lt;/title&gt;&lt;/head&gt;
  
  &lt;script src="https://d3js.org/d3.v4.min.js"&gt;&lt;/script&gt;
  &lt;script type="text/javascript"&gt;js&lt;/script&gt;
  
  &lt;body onLoad="drawTree({divID: \'viz\', width: 600, height: 400, padding: 50, treeData: treeData})"&gt;
  &lt;div id="viz"&gt;&lt;/div&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>Where <code>js</code> is the Javascript code doing the d3 stuff</p>
  
  <pre><code>function drawTree(o) {  
      d3.select("#"+o.divID).select("svg").remove() 
  
      var viz = d3.select("#"+o.divID)
                  .append("svg")
                  .attr("width", o.width)
                  .attr("height", o.height) 
  
      var vis = viz
                .append("g")
                .attr("id","treeg")
                .attr("transform", "translate("+ o.padding +","+ o.padding +")"); 
  
      var tree = d3.layout.tree()
                 .size([o.width - (2 * o.padding), o.height - (2 * o.padding)]);
  
      var diagonal = d3.svg.diagonal()
                     .projection(function(d) { return [d.x, d.y]; });
  
      var nodes = tree.nodes(o.treeData);
  
      var link = vis.selectAll("pathlink")
                 .data(tree.links(nodes))
                 .enter()
                 .append("path")
                 .attr("class", "link")
                 .attr("d", diagonal)
  
      var node = vis.selectAll("g.node")
                 .data(nodes)
                 .enter()
                 .append("g")
                 .attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; })
  
      node.append("circle")
          .attr("r", 10)
          .style("fill", function(d) { return (d.children) ? "#E14B3B" : "#1C8B98" });
  
      node.append("svg:text")
          .attr("dx", function(d) { return d.children ? 0 : 0; })
          .attr("dy", function(d) { return d.children ? 5 : 5; })
          .attr("text-anchor", function(d) { return d.children ? "middle" : "middle"; })
          .style("fill", "white")
          .text(function(d) { return d.name; });
  }
  </code></pre>
  
  <p>and <code>treeData</code> is a JSON like representation of the tree.</p>
  
  <p>What I now get is the error <code>Cannot read property 'tree' of undefined</code>in the <code>js</code> part, in the <code>var tree = ...</code> line. Most likely I'm just blind and you'll instantly see what I did wrong, but I've been staring at this for a while now...</p>
  
  <p>Thanks in advance for any help!</p>