title: Plotly: how to make an unbounded vertical line in a subplot?
body: <p>The goal is to get vertical infinite lines in every subplot, at x=1.
  In this example, I'll just try a single plotly shape of type="line" in the first row, first column</p>
  
  <pre class="lang-py prettyprint-override"><code>from plotly.subplots import make_subplots
  import plotly.graph_objects as go
  import numpy as np
  
  
  fig = make_subplots(
      rows=2,
      cols=2,
      subplot_titles=list(map(str, range(4))),
      shared_xaxes=True,
      shared_yaxes=False,
  )
  
  time = np.linspace(-np.pi, np.pi, 1000)
  
  for i in range(4):
      data = np.sin((i+1) * time)
      fig.add_trace(
          go.Scatter(y=data,x=time, name=str(i)),
          row=1 if i in [0, 1] else 2,
          col=1 if i in [0, 2] else 2,
      )
  
  fig.add_shape(
      go.layout.Shape(
          type="line",
          yref="paper",
          xref="x",
          x0=1,
          y0=0,
          x1=1,
          y1=1,
          line=dict(color="RoyalBlue", width=3),
      ),row=1,col=1)
  
  fig.write_image("1.png",width=800, height=600, scale=1)
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/9AQhn.png" rel="noreferrer"><img src="https://i.stack.imgur.com/9AQhn.png" alt="Plot1"></a></p>
  
  <p>So it looks like adding a shape with row and column overrides the yref and xref properties, returning a segment of a line instead of an infinite line.
  Forcing yref to be "paper" before printing...</p>
  
  <pre class="lang-py prettyprint-override"><code>for shape in fig.layout.shapes:
      shape["yref"]="paper"
  </code></pre>
  
  <p>...I get this:
  <a href="https://i.stack.imgur.com/sGujw.png" rel="noreferrer"><img src="https://i.stack.imgur.com/sGujw.png" alt="Plot2"></a></p>
  
  <p>This is arguably worse, a line that's relative to the whole figure instead of the subplot y axis. Has anyone stumbled with this problem before? Any ideas?</p>