       @data(@raw_data)
 
   _hide_columns_below_n: (n) ->
+    columns_are_hidden = false
     n_value = @series_2_label_sum
     select_columns_above = (n, data) ->
-      { key: data.key, values: data.values.filter((v) -> n_value(v) >= n) }
+      values = data.values.filter((v) -> n_value(v) >= n)
+      columns_are_hidden = true if values.length < data.values.length
+      { key: data.key, values: values }
     @_data = (d for d in (select_columns_above(n, d) for d in @_data) when d.values.length > 0)
+    @_columns_are_hidden = columns_are_hidden
+    @_show_unstable_legend = @_show_unstable_legend or columns_are_hidden # set once
 
   # pre-establishes indexes for the spacing and grouping of series 1 data
   # based on its contents (necessary because of the variable length of data within

    @afterRender()

  beforeRender: ->
    @_hide_columns_below_n(@_n_threshold)

  _render: -> null
  afterRender: ->
    @_adjust_svg_dimensions()

  _adjust_svg_dimensions: ->

    ((@_checked[e] or= true) unless @_checked[e] is false) for e in d
    return if d.length is 1
    @legend.selectAll('g.filter_legend_item').remove()
    offset = (@legend.selectAll('.legend-icon')[0].length + 3) * @legend_item_height

    items = @legend.selectAll('g.filter_legend_item')
      .data(d)
