code: def plot_2d(test, sorted_argnames, ax, title):
      assert len(sorted_argnames) == 2
      lines = set(test.args[sorted_argnames[0]])
      ax.set_title(title)
      for line in sorted(lines, key=try_as_numeric):
          indices = range(len(test.times))
          indices = list(
              filter(
                  lambda i: test.args[sorted_argnames[0]][i] == line,
                  indices,
              )
          )
          filtered_test = Test()
          filtered_test.times = [test.times[i] for i in indices]
          filtered_test.args[sorted_argnames[1]] = [
              test.args[sorted_argnames[1]][i] for i in indices
          ]
          plot_1d(
              filtered_test,
              sorted_argnames[1],
              ax,
              construct_name(sorted_argnames[0], line),
          )
  
file_path: arrow/cpp/src/arrow/acero/hash_join_graphs.py
imports: import math
  import sys
  import json
  import matplotlib.pyplot
  import seaborn
label_desc: Use image node_id 6 for calling a global function with example usage: plot_2d(test, sorted_argnames, ax, title) without return types