как отобразить много данных на графике с помощью Python

#python #matplotlib

#python #matplotlib

Вопрос:

Мне нужно отобразить 100 значений на одной гистограмме, но метки и соответствующие значения перекрываются.

следующим образом

введите описание изображения здесь

код выглядит следующим образом:

   plt.bar(range(len(freq_to_plot)), [val[1] for val in freq_to_plot], align='center')
    fig = plt.figure()
    ax = fig.add_subplot(111)
    title = ax.set_title("n".join(wrap(name_file, 60)))
    fig.tight_layout()
    title.set_y(1.05)
    fig.subplots_adjust(top=0.8)
    plt.xticks(range(len(freq_to_plot)), [val[0] for val in freq_to_plot])
    plt.xticks(rotation=90)
    plt.tight_layout()
    labels, values = split_freq(freq_to_plot)
    plt.bar(labels, values, color='blue')
    for i in range(len(values)):
        plt.annotate(str(values[i]), xy=(labels[i], values[i]), ha='center', va='bottom')
    plt.savefig("figures/"   name_file   ".png", bbox_inches="tight")
    plt.show()
  

как я могу это исправить?

Спасибо

Комментарии:

1. TBH 100 баров — это слишком много. С другой стороны, горизонтальные полосы с barh могут выглядеть лучше.

2. если вам НУЖНО использовать этот макет, увеличьте figsize его до чего-то вроде plt.figure(figsize=(20,4)

3. Да, либо делайте то, что сказал @Yuca, и / или (1) подумайте об изменении размеров шрифта (2) удалите аннотации к столбцам, поскольку они все равно не нужны (для этого у вас есть yticks!).).