#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!).).