title: Altair tooltips don't work when using selection
body: <p>I am trying to use a vertical rule similar to the one shown on the altair multi-line tooltip example here <a href="https://altair-viz.github.io/gallery/multiline_tooltip.html" rel="nofollow noreferrer">https://altair-viz.github.io/gallery/multiline_tooltip.html</a>. I would like to use text tooltips too, as my dataset contains text comments that are relevant to each point.</p>
  <p>Here is the example code, to which I added a &quot;comments&quot; column with dummy text, and I also added the tooltips to the line component, but the tooltips don't work.</p>
  <pre><code>import altair as alt
  import pandas as pd
  import numpy as np
  
  np.random.seed(42)
  source = pd.DataFrame(np.cumsum(np.random.randn(100, 3), 0).round(2),
                      columns=['A', 'B', 'C'], index=pd.RangeIndex(100, name='x'))
  source = source.reset_index().melt('x', var_name='category', value_name='y')
  </code></pre>
  <p>I added this line to create a coment column:</p>
  <pre><code>source['comments']='comment'+source.category+source.x.apply(str)
  </code></pre>
  <pre><code># Create a selection that chooses the nearest point &amp; selects based on x-value
  nearest = alt.selection(type='single', nearest=True, on='mouseover',
                          fields=['x'], empty='none')
  
  # The basic line 
  </code></pre>
  <p>I added tooltips here:</p>
  <pre><code>line = alt.Chart(source).mark_line(interpolate='basis').encode(
      x='x:Q',
      y='y:Q',
      color='category:N',tooltip='comments'
  )
  </code></pre>
  <p>And the rest of the code:</p>
  <pre><code># Transparent selectors across the chart. This is what tells us
  # the x-value of the cursor
  selectors = alt.Chart(source).mark_point().encode(
      x='x:Q',
      opacity=alt.value(0),
  ).add_selection(
      nearest
  )
  
  # Draw points on the line, and highlight based on selection
  points = line.mark_point().encode(
      opacity=alt.condition(nearest, alt.value(1), alt.value(0))
  )
  
  # Draw text labels near the points, and highlight based on selection
  text = line.mark_text(align='left', dx=5, dy=-5).encode(
      text=alt.condition(nearest, 'y:Q', alt.value(' '))
  )
  
  # Draw a rule at the location of the selection
  rules = alt.Chart(source).mark_rule(color='gray').encode(
      x='x:Q',
  ).transform_filter(
      nearest
  )
  
  # Put the five layers into a chart and bind the data
  alt.layer(
      line, selectors, points, rules, text
  ).properties(
      width=600, height=300
  )
  </code></pre>
  <p>If you run this code, it won't show tooltips. To see the tooltips I have to get rid of the selection, so to display the chart at the end and see the tooltips, but not the rule, I would have to do:</p>
  <pre><code>alt.layer(line).properties(width=600, height=300)
  </code></pre>
  <p>How can I have both, tooltips and rule?</p>