title: Add multiple filter dimensions in Plotly figure
body: <p>I construct datasets for games, showing the course of a value produced by actors over time. I want to plot this data with Plotly and I'm trying to figure out how to customize the filter dimensions to be able to plot the data of multiple games in one plot.</p>
  
  <p><strong>How my data looks</strong></p>
  
  <p>I have for columns describing a piece of information in my dataset. For each <em>game</em> (column <code>game</code>) I have an <em>amount</em> (column <code>value</code>) for a specific <em>round</em> (column <code>round</code>) for each <em>actor</em> (column <code>name</code>).</p>
  
  <p>To plot the "value" development over time (rounds) for each actor, I use Plotly to create a line plot with a slider for the different games. It looks like this with random data.</p>
  
  <pre><code>import numpy as np
  import pandas as pd
  import plotly.express as px
  
  n_rounds = 30
  
  actor_column = []
  round_column = []
  value_column = []
  game_column = []
  
  actor_names = ["A", "B", "C"]
  
  X = range(n_rounds)
  for game_id in range(1, 5):
      Ys = []
      for actor_name in actor_names:
          Y = np.random.randint(0, 50000, n_rounds - 1)
          Ys.append(Y)
  
      for idx, Y in enumerate(Ys):
          for x, y in zip(X, Y):
              actor_column.append(actor_names[idx])
              round_column.append(x)
              value_column.append(y)
              game_column.append(game_id)
  
  data = {
      "game": game_column,
      "actor": actor_column,
      "round": round_column,
      "value": value_column
  }
  
  df = pd.DataFrame(data)
  
  fig = px.line(
      df,
      x="round",
      y="value",
      color="actor",
      animation_frame="game",
  )
  
  fig.show()
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/LL7Kn.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/LL7Kn.png" alt="Plot with slider at position 1"></a>
  <a href="https://i.stack.imgur.com/Shs0X.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Shs0X.png" alt="Plot with slider at position 2"></a></p>
  
  <p>With the help of the slider I can chose the game to display. By using the actor filters to the right, I can chose which actor(s) to show. This comes pretty close to what I want. </p>
  
  <p><strong>Question</strong></p>
  
  <p>How to have an additional filter dimension for games instead of using the slider. Similar to the existing <code>actor</code> filters, I also want <code>game</code> filters for my plot. For example, I want to be able to show the plot for an actor for all games, using plotly.</p>
  
  <p>I'm thinking of something like this (not necessarily using different dash types):</p>
  
  <p><a href="https://i.stack.imgur.com/OzFi1.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/OzFi1.png" alt="What I want"></a></p>
  
  <p><em>Note:</em>
  There has to be a better solution than using different line dashes for the games and having all combinations of games and actors as filter values, like this <code>fig = px.line(df, x="round", y="value", color="actor", line_dash="game")</code>.
  <a href="https://i.stack.imgur.com/A1ATj.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/A1ATj.png" alt="What I do not want"></a></p>