def count_barplot()

in src/dfcx_scrapi/tools/datastore_evaluator.py [0:0]


  def count_barplot(self, column_name: str):
    results = []
    for result in self.evaluation_results:
      responses = result.scrape_outputs["query_result"].apply(
          lambda x: x.to_row())
      responses = pd.DataFrame(
          responses.to_list(), index=result.scrape_outputs.index
      )
      results.append(
          pd.concat(
              [result.scrape_outputs, responses, result.metric_outputs],
              axis=1
          )
      )
    results = pd.concat(results)
    results = results.set_index(["agent_display_name", "evaluation_timestamp"])
    grouped_counts = (
        results[column_name]
        .groupby(level=["agent_display_name", "evaluation_timestamp"])
        .value_counts()
        .unstack(fill_value=0)
    )
    grouped_counts.plot(kind="bar")
    plt.xlabel("Name")
    plt.ylabel("Count")
    plt.xticks(rotation=15)
    plt.title(f"{column_name} counts by name")
    plt.legend(title=column_name)
    plt.show()