in spotify_confidence/analysis/bayesian/bayesian_base.py [0:0]
def _ordinal_plot(self, center_name, df, groupby, level_name, remaining_groups, absolute, title, y_axis_label):
df = add_color_column(df, remaining_groups)
colors = "color" if remaining_groups else None
ch = chartify.Chart(x_axis_type=self._ordinal_type())
ch.plot.line(
data_frame=df.sort_values(self._ordinal_group_column),
x_column=self._ordinal_group_column,
y_column=center_name,
color_column=colors,
)
ch.style.color_palette.reset_palette_order()
ch.plot.area(
data_frame=df.sort_values(self._ordinal_group_column),
x_column=self._ordinal_group_column,
y_column="ci_lower",
second_y_column="ci_upper",
color_column=colors,
)
ch.axes.set_yaxis_label(y_axis_label)
ch.axes.set_xaxis_label(self._ordinal_group_column)
ch.set_source_label("")
axis_format = axis_format_precision(df["ci_lower"].min(), df["ci_upper"].max(), absolute)
ch.axes.set_yaxis_tick_format(axis_format)
subtitle = "" if not groupby else "{}: {}".format(groupby, level_name)
ch.set_subtitle(subtitle)
ch.set_title(title)
if colors:
ch.set_legend_location("outside_bottom")
return ch