Kılavuzdaki çeşitli veri kümelerini çiziyorum. Zaman serileri, bir yıllık bir süre boyunca uzar, bu yüzden bir ay-yıl kene işaretçisine sahip olmak isterim, ancak kene etiketleri birbiri ile hızlı bir şekilde örtüşür. Bunu aşmak için xticklables'ı döndürmeyi denedim. Ancak, bu beklendiği gibi çalışmıyor. en alt x ekseni üzerinde hiçbir ticklabels olacak gibi Senaryoyu çalıştırırsanızxticklabels, döndürüldükten sonra kayboluyor
from __future__ import division, print_function
import pandas as pd, numpy as np
from pylab import *
index = pd.date_range('20140901','20150901',freq='1H')
data = np.sin(np.pi*np.arange(index.shape[0])/180)
df = pd.DataFrame(index=index,data=data,columns=list("A"))
fig = figure(figsize=(3.25,4.0))
gs = GridSpec(5,2)
gs.update(left=0.08, right=0.925, top=0.95, bottom=0.05, hspace=0.0, wspace=0.0)
ax0 = subplot(gs[0])
ax1 = subplot(gs[1])
ax2 = subplot(gs[2])
ax3 = subplot(gs[3])
ax4 = subplot(gs[4])
ax5 = subplot(gs[5])
ax6 = subplot(gs[6])
ax7 = subplot(gs[7])
for axis in xrange(8):
ax = eval('ax'+str(axis))
ax.plot(df.index,df.A,'k')
# format y-axes
if axis in np.arange(1,8,2):
ax.set_yticks(np.arange(-1.5,1.5,0.50),minor=False)
ax.set_yticks(np.arange(-1.5,1.5,0.25),minor=True)
ax.set_yticklabels([])
elif axis in np.arange(2,8,2):
ax.set_yticks(np.arange(-1.5,1.5,0.50),minor=False)
ax.set_yticks(np.arange(-1.5,1.5,0.25),minor=True)
elif axis==0:
ax.set_yticks(np.arange(-1.5,1.6,0.50),minor=False)
ax.set_yticks(np.arange(-1.5,1.5,0.25),minor=True)
ax.set_ylim([-1.5,1.5])
# format x-axes
if axis in np.arange(0,6):
ax.set_xticklabels([])
ax.xaxis.set_minor_locator(dates.MonthLocator(interval=1))
ax.xaxis.set_major_locator(dates.MonthLocator(interval=3))
elif axis in [6,7]:
ax.xaxis.set_minor_locator(dates.MonthLocator(interval=1))
ax.xaxis.set_major_locator(dates.MonthLocator(interval=3))
ax.xaxis.set_major_formatter(dates.DateFormatter('%b-%Y'))
ax.set_xlim([dt.datetime(2014,9,1),dt.datetime(2015,9,1)])
ax.tick_params(axis='both',which='major',direction='in',length=4,width=1,labelsize=8)
ax.tick_params(axis='both',which='minor',direction='in',length=2,width=1)
# insert text boxes
ax.annotate('A',
xycoords='axes fraction',
xy=(0.05,0.75),
horizontalalignment='left',
verticalalignment='bottom',
fontsize=8)
ax6.set_xticklabels(ax6.get_xticklabels(),rotation=45)
ax7.set_xticklabels(ax7.get_xticklabels(),rotation=45)
: Burada olmayan bir asgari çalışma örneğidir. Ancak, son iki satırı açıklarsam, betiği çalıştırın, ardından son iki satırı manuel olarak girerek rotasyonun beklendiği gibi yapılmasını sağlayın. Kene etiketlerini döndürmek için birkaç yönteme baktım, bunların hiçbiri işe yaramıyor (yani hepsi aynı "kaybolma" problemine sahipler). Bunun neden olduğunu ve nasıl düzeltileceğini bilen var mı?
Python 2.7, Matplotlib 1.5.1, Pandalar 0.18.0
Bize grafiklerinizi gösterin. – Hun
Bitti. İlk rakam, son iki satır yorumlanmadan betik çalıştırılarak üretildi, ikincisi son iki satırın yorumlanması, betiğin çalıştırılması ve son iki satırın manüel olarak girilmesiyle üretildi. Gönderilen komut dosyasını çalıştırarak bu rakamları yeniden oluşturabilirsiniz. – tnknepp
Bu arada, kötü görüntü çözünürlüğü için özür dilerim, ancak görülmesi gereken tek şey, onay işaretlerinin ilk görüntüde gösterilmemesidir. – tnknepp