Fechas garrapatas y rotación en matplotlib.
Tengo un problema al intentar rotar las fechas en matplotlib. A continuación se muestra un pequeño programa de muestra. Si intento rotar las garrapatas al final, las garrapatas no se rotan. Si trato de rotar las marcas como se muestra en el comentario 'cuelgues', entonces matplot lib se bloquea.
Esto solo sucede si los valores de x son fechas. Si sustituyo la variabledates
con la variablet
en la llamada aavail_plot
, laxticks(rotation=70)
llamada funciona bien por dentroavail_plot
.
¿Algunas ideas?
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()