我有一個問題,試圖讓我的日期刻度在matplotlib中旋轉。下面是一個小樣本程序。如果我試圖在最後旋轉刻度,則刻度不會旋轉。如果我嘗試按照註釋「崩潰」中所示旋轉刻度,則matplot庫會崩潰。matplotlib中的日期刻度和旋轉
只有x值是日期時纔會發生這種情況。如果我在調用avail_plot
時將變量dates
替換爲變量t
,則xticks(rotation=70)
調用在avail_plot
內工作得很好。
任何想法?
import numpy as np
import matplotlib.pyplot as plt
import datetime as dt
def avail_plot(ax, x, y, label, lcolor):
ax.plot(x,y,'b')
ax.set_ylabel(label, rotation='horizontal', color=lcolor)
ax.get_yaxis().set_ticks([])
#crashes
#plt.xticks(rotation=70)
ax2 = ax.twinx()
ax2.plot(x, [1 for a in y], 'b')
ax2.get_yaxis().set_ticks([])
ax2.set_ylabel('testing')
f, axs = plt.subplots(2, sharex=True, sharey=True)
t = np.arange(0.01, 5, 1)
s1 = np.exp(t)
start = dt.datetime.now()
dates=[]
for val in t:
next_val = start + dt.timedelta(0,val)
dates.append(next_val)
start = next_val
avail_plot(axs[0], dates, s1, 'testing', 'green')
avail_plot(axs[1], dates, s1, 'testing2', 'red')
plt.subplots_adjust(hspace=0, bottom=0.3)
plt.yticks([0.5,],("",""))
#doesn't crash, but does not rotate the xticks
#plt.xticks(rotation=70)
plt.show()
創建情節與x軸的日期,一個好的明確的解決方案是這樣一個共同的任務 - 一種恥辱,有沒有更完整在那裏的例子。 – alexw
我想知道這是不是重複https://stackoverflow.com/questions/10998621/rotate-axis-text-in-python-matplotlib – ImportanceOfBeingErnest