     @nodes.append('svg:rect')
       .attr('width', @x 70)
       .attr('height', @y 50)
-      .attr('fill', (d, i) => @colors i)
+      .attr('fill', (d) -> d.fill_color)
+      .attr('stroke', (d) -> d.stroke_color)
+      .style('stroke-width', 0.1)
       .attr('data-tooltip', (d) -> d.key)
 
     @make_line = d3.svg.line()

    @x = attrs.x
    @y = attrs.y
    @key = attrs.key

  # returns true if the node hasn't good coordinates
  bad_node: =>

    @x = d3.scale.linear().domain([0, max_x]).range([0, @width])
    @y = d3.scale.linear().domain([0, max_y]).range([0, @height])

    @nodes = @svg.selectAll('g.node')
      .data(@nodes, (d) -> d.key)
      .enter()
