Saya mengalami masalah saat mencoba agar kutu tanggal saya diputar di matplotlib. Contoh program kecil ada di bawah ini. Jika saya mencoba memutar kutu di bagian akhir, kutu tidak akan diputar. Jika saya mencoba memutar tanda centang seperti yang ditunjukkan di bawah komentar 'crash', maka matplot lib crash.
Ini hanya terjadi jika nilai-x adalah tanggal. Jika saya mengganti variabel dates
dengan variabel t
dalam panggilan ke avail_plot
, xticks(rotation=70)
panggilan berfungsi dengan baik di dalamnya avail_plot
.
Ada ide?
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()