Как правильно наносить галочки?

1

Когда текстовая метка тика слишком длинная, часто время, которое нам нужно повернуть, чтобы предотвратить перекрытие текстов. Проблема, с которой я столкнулась, заключается в том, что matplotlib будет отображать только часть ее, когда она больше, чем размер графика.

1. Есть ли способ расширить границу дна графика так, чтобы он соответствовал всему тексту?

2. Если горизонталь предпочтительнее, есть ли способ поместить текст в две или более строк, чтобы они не перекрывались?

Вот пример, который отсекает текст: Изображение 174551

Я попытался настроить размер с помощью

plt.figure(figsize=(50,50))

но это приводит лишь к пропорциональному увеличению каждого элемента графика.

Я попытался настроить маржу с помощью

plt.tight_layout()

но он, кажется, компромисс с содержанием графика. Наконец, подумал о настройке соотношения сторон, но он, по-видимому, связан только с содержанием графика.

В настоящее время я использую matplotlib 2.2.2, и вы можете воспроизвести приведенный выше график со следующим кодом (оригинал):

import numpy as np
import matplotlib.pyplot as plt

N = 5
menMeans = (20, 35, 30, 35, 27)
womenMeans = (25, 32, 34, 20, 25)
menStd = (2, 3, 4, 1, 2)
womenStd = (3, 5, 2, 3, 3)
ind = np.arange(N)    # the x locations for the groups
width = 0.35       # the width of the bars: can also be len(x) sequence

# plt.figure(figsize=(500,20))

p1 = plt.bar(ind, menMeans, width, yerr=menStd)
p2 = plt.bar(ind, womenMeans, width,
             bottom=menMeans, yerr=womenStd)

plt.ylabel('Scores')
plt.title('Scores by group and gender')
# plt.xticks(ind, ('G1', 'G2', 'G3', 'G4', 'G5'))
plt.yticks(np.arange(0, 81, 10))
plt.legend((p1[0], p2[0]), ('Men', 'Women'))

plt.xticks(ind, ('It shows up perfectly fine in Jupyter Notebook', 'how can I adjust "some setting" so that I can see all these?', 'G3', 'G4', 'G5'))
plt.tick_params(labelrotation=90)
# plt.savefig('Example.jpeg')

# plt.tight_layout()

plt.show()
Теги:
matplotlib
graph
plot

1 ответ

0

Ты можешь использовать

plt.subplots_adjust(bottom=0.3)

чтобы получить больше места под сюжет. Значение по умолчанию - 0,1.

Обратите внимание, что с размером фигуры по умолчанию я не мог увеличить пространство, чтобы весь (очень длинный) текст был виден. Если вы определяете размер фигуры, это должно быть возможно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню