Как вращать xlabels при добавлении еще одного yaxis? - PullRequest
1 голос
/ 01 декабря 2011

По какой-то причине после того, как я добавил в свой график вторую ось y

fig.plt.figure()
ax = plt.Axes(fig)
fig.add_axes(ax)
ax2 = ax.twinx()
fig.add_axes(ax2)

xticklabels больше не вращается !?

fig.autofmt_xdate(rotation = num)

Кто-нибудь знает, почему это происходит?

Я могу закомментировать последние две строки:

#ax2 = ax.twinx()
#fig.add_axes(ax2)

, и он будет вращать xticklabels.

1 Ответ

6 голосов
/ 01 декабря 2011

Поместите fig.autofmt_xdate(rotation = num) после оператора, определяющего ax, но до вызова ax.twinx() и:

import matplotlib.pyplot as plt
import matplotlib.dates as md
import datetime as dt
import numpy as np

np.random.seed(0)
t=md.drange(dt.datetime(2009,10,1),
            dt.datetime(2010,1,15),
            dt.timedelta(days=1))
n=len(t)
x1 = np.cumsum(np.random.random(n) - 0.5) * 40000
x2 = np.cumsum(np.random.random(n) - 0.5) * 0.002

fig = plt.figure()
# fig.autofmt_xdate(rotation=25) # does not work
ax1 = fig.add_subplot(1,1,1)
fig.autofmt_xdate(rotation=25) # works
ax2 = ax1.twinx()
# fig.autofmt_xdate(rotation=25) # does not work
ax1.plot_date(t, x1, 'r-')
ax2.plot_date(t, x2, 'g-')
plt.show()

1011 * выходы *

enter image description here

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