def get_fi_bar_plot()

in src/responsibleai/rai_analyse/_score_card/common_components.py [0:0]


def get_fi_bar_plot(data):
    y_data = [v["short_label"] for k, v in data.items()]
    x_data = [v["value"] for k, v in data.items()]
    max_x = max(x_data)
    x_range = [0, max_x]
    x_data = [[x, max_x - x] for x in x_data]

    # tickvals = [0.0, 0.25, 0.5, 0.75, 1.0]
    # ticktext = [0.0, 0.25, 0.5, 0.75, 1.0]
    tickappend = ""

    def scientific_formatter(x):
        return "{:.2e}".format(x)

    def rounding_formatter(x):
        return str(round(x, 1))

    if any(
        (i >= 10000 or i <= 0.01 for i in [x for sublist in x_data for x in sublist])
    ):
        text_formatter = scientific_formatter
    else:
        text_formatter = rounding_formatter

    return get_bar_plot(
        list(reversed(y_data)),
        list(reversed(x_data)),
        tickappend=tickappend,
        xrange=x_range,
        anno_text_formatter=text_formatter,
    )