docs: def _create_breakdown_chart(self, data, work, output_dir):
          """Generates and writes to a file in `output_dir` the data used to
          display a stacked bar chart.
  
          The generated data gives the percentages of the text of the
          work (across all witnesses) that are in common with all other
          works, shared with each "maybe" work, and unique.
  
          :param data: data to derive the chart data from
          :type data: `pandas.DataFrame`
          :param work: work to show related work data for
          :type work: `str`
          :param output_dir: directory to output data file to
          :type output_dir: `str`
  
          """
          chart_data = data.loc[work].sort_values(by=SHARED, ascending=False)[
              [SHARED, UNIQUE, COMMON]]
          csv_path = os.path.join(output_dir, 'breakdown_{}.csv'.format(
              work))
          chart_data.to_csv(csv_path)