Обивка вокруг меток - PullRequest
0 голосов
/ 06 мая 2019

Я делаю гистограмму.

sns_plot = sns.barplot(years, yields, ax=axes[0, 0])
sns_plot.set_xticklabels(years, rotation=90)
sns_plot.xaxis.set_tick_params(pad=10)

Но текст слишком сложен.Т.е. нужно разделение между метками.Как я могу это сделать?pad=10, кажется, отталкивает метки от оси, а не отдельные метки.

После того, как метки вертикальные (90 градусов), они все еще немного сгруппированы.Я думаю, найти правый рычаг, чтобы тянуть ...

1 Ответ

0 голосов
/ 06 мая 2019

Тестовые данные:

In [1]:
import numpy as np
import re

x = """Lorem ipsum dolor sit amet, consectetur adipiscing 
elit, sed do eiusmod tempor incididunt ut labore et dolore 
magna aliqua. Cras nibh turpis, ullamcorper ac lectus vel, 
aliquet consectetur odio. Cras vel scelerisque tortor. 
Interdum et malesuada fames ac ante ipsum primis in faucibus. 
Proin id dignissim ante, a dictum ipsum. Fusce at lacus ac purus 
pulvinar dignissim eget a quam. Sed quis mollis ligula, sed 
ullamcorper velit. Curabitur vel congue metus. Ut placerat 
ipsum non leo posuere, non vestibulum eros posuere. 
Donec eu viverra augue, sit amet tempus ex. Vivamus 
sit amet tempus ipsum. Fusce consequat, augue a mollis 
hendrerit, quam neque dapibus ligula, vitae blandit ipsum 
lorem eu mauris. """
x = pd.Series(x.split(' '))
x = x.apply(lambda x: re.sub('\W+', '', x))
y = np.random.randn(x.shape[0])

df = pd.DataFrame({'X': x, 'Y': y})
df.head()


Out [1]:
    X   Y
0   Lorem   -0.562246
1   ipsum   1.085094
2   dolor   1.044887
3   sit     -1.424002
4   amet    -0.87682

Тестовый график:

In [2]:
import matplotlib.pyplot as plt

fig, ax = plt.subplots(1, 1, figsize=(9, 6))
ax.plot(df.X, df.Y, 'ks')
ax.tick_params(axis='x', rotation=90)

Out [2]:

Итак, для обобщения комментариев к исходному сообщению, естьнесколько способов удалить загроможденные метки: у вас есть несколько вариантов:

1) Меньший текст метки: ax.tick_params(axis='x', labelsize=6) enter image description here

2) Меньше меток:

for label in ax.xaxis.get_ticklabels()[::2]:
    label.set_visible(False)

enter image description here

3) Длинная ось: fig.set_size_inches((15, 4)) enter image description here И так далее ...

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