def plot_dist_frequenza(distribuzione, tipo='categoriale', Y='Percentuale',
    x_label='Valori', y_label='Percentuale', figsize=(12, 8), missing=None):
    """
    distribuzione: inserire risultato della funzione dist_frequenza
    tipo:
        "categoriale": classi non ordinate
        "ordinale": classi ordinate
        "cardinale": valori numerici
    x_label: etichetta asse x
    y_label: etichetta_asse y
    """
    import matplotlib.pyplot as plt
    import seaborn as sns
    if tipo == 'categoriale':
        p_color = 'muted'
    elif tipo == 'ordinale':
        p_color = 'Blues_d'
    elif tipo == 'cardinale':
        p_color = 'Blues_d'
        print(
            '------------------------------------------------------------------------------'
            )
        print(
            'si consiglia di utilizzare una diversa visualizzazione: cerca sul motore di ricerca sns.distplot ed applicalo sulla matrice dati originaria '
            )
        print(
            '------------------------------------------------------------------------------'
            )
    distribuzione = distribuzione.iloc[:-1, :]
    if missing != None:
        distribuzione = distribuzione.drop(missing)
    fig, ax = plt.subplots(figsize=figsize)
    x = 0
    g = sns.barplot(x=distribuzione.index, y=Y, data=distribuzione, ax=ax,
        palette=p_color, order=distribuzione.index)
    for index, row in distribuzione.iterrows():
        stringa = 'N.{},\n {}%'.format(row.Frequenze, row.Percentuale)
        g.text(x, row[Y] - row[Y] * 0.5, stringa, color='black', ha='center')
        x = x + 1
    g.set_xticklabels(g.get_xticklabels(), rotation=90)
    g.set(xlabel=x_label, ylabel=y_label)
    return g
