Как сделать макет горизонтального барплота плотным? - PullRequest
0 голосов
/ 10 марта 2020

Итак, у меня есть этот горизонтальный график, который я хочу построить, но расстояние между графиком по оси Y слишком велико. Я хочу сделать это крепко Я попробовал это с sharp_layout , но это не работает. Это горизонтальная полоса, которая у меня есть: enter image description here

, и это моя попытка:

f, ax = plt.subplots(figsize=(15,15))
f.tight_layout()
plt.barh(df['keywords'], df['number'], height=0.2)
ax.tick_params(labelsize=28)
plt.title('Difference average of cluster 4')

Ответы [ 2 ]

1 голос
/ 10 марта 2020

Вы можете попробовать включить автоматическое масштабирование, добавив следующую строку.

plt.autoscale(enable=True, axis='y', tight=True) # tight layout
0 голосов
/ 10 марта 2020

Mathplotlib использует автоматическое заполнение x, y пробелов в canvas. Чтобы сделать бары крепкими, вам нужно установить heihgt = 0.9:

import matplotlib.pyplot as plt

labels = ('a', 'b', 'c', 'd', 'e')
data = [0.1,0.2,0.3,0.5,0.3]
y_pos = [0,1,2,3,4]

fig, ax = plt.subplots(figsize=(8,4))
ax.barh(y_pos, data, align='center', height=0.9)
ax.set_yticks(y_pos)
ax.set_yticklabels(labels)
plt.show()

enter image description here

или поместить некоторые данные выше остальных в автоматическую шкалу высоты баров .

import matplotlib.pyplot as plt

labels = ('a', 'b', 'c', 'd', 'e', 'f')
data = [0.1,0.2,0.3,0.5,0.3, 0.5]
y_pos = [0,1,2,3,4, 10]

fig, ax = plt.subplots(figsize=(8,4))
ax.barh(y_pos, data, align='center', height=0.9)
ax.set_yticks(y_pos)
ax.set_yticklabels(labels)
plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...