Pandas 熊猫时间序列绘图-设置自定义刻度
我正在使用pandas创建一个通用的平均每周汇总和绘图工具。一切都很好(我也很高兴收到关于这方面的评论),但是滴答声:由于我“伪造”日期,我想用自制的滴答声来代替整套滴答声(我已经收到一些关于时间轴上1月1日的问题) 然而,似乎熊猫覆盖了所有的蜱虫,不管我经过什么。我可以添加我想要的记号,但我找不到如何删除这些记号Pandas 熊猫时间序列绘图-设置自定义刻度,pandas,matplotlib,Pandas,Matplotlib,我正在使用pandas创建一个通用的平均每周汇总和绘图工具。一切都很好(我也很高兴收到关于这方面的评论),但是滴答声:由于我“伪造”日期,我想用自制的滴答声来代替整套滴答声(我已经收到一些关于时间轴上1月1日的问题) 然而,似乎熊猫覆盖了所有的蜱虫,不管我经过什么。我可以添加我想要的记号,但我找不到如何删除这些记号 def averageWeek(df, ax, tcol='ts', ccol='id', label=None, treshold=0, normalize=True, **kw
def averageWeek(df, ax, tcol='ts', ccol='id', label=None, treshold=0,
normalize=True, **kwargs):
'''calculate average week on ts'''
s = df[[tcol, ccol]].rename(columns={tcol:'ts',ccol:'id'}) # rename to convention
s = df[['id', 'ts']].set_index('ts').resample('15Min', how='count').reset_index()
s['id'] = s['id'].astype(float)
s['ts'] = s.ts.apply(lambda x: datetime.datetime(year=2015,month=1,
day=(x.weekday()+1),
hour=x.hour,
minute = x.minute))
s = s.groupby(['ts']).agg('mean')
if s.id.sum() >= treshold:
if normalize:
s = 1.0*s/s.sum()
else:
pass
if label:
s.rename(columns={'id':label}, inplace=1)
s.plot(ax=ax, legend=False, **kwargs);
else:
print name, 'didnt pass treshhold:', s[name].sum()
pass
return g
fig, ax = plt.subplots(figsize=(18,6))
aw = averageWeek(LMdata, ax=frame, label='Lower Manhattan', alpha=1, lw=1)
x = [datetime.datetime(year=2015, month=1, day=i) for i in range(1,8)]
labels = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
frame.axes.get_xaxis().set_ticks([])
plt.xlabel('Average week')
plt.legend()
您的问题是,这实际上涉及两种刻度标签:主刻度和次刻度标签,主刻度和次刻度。你想清除他们两个。例如,如果
ax
是有问题的轴,则以下操作将起作用:
ax.set_xticklabels([],minor=False) # the default
ax.set_xticklabels([],minor=True)
然后,您可以设置所需的ticklebels和tick位置。您的问题是,这实际上涉及两种tick标签:主要ticklebels和次要ticklebels,主要tick和次要ticklebels。你想清除他们两个。例如,如果
ax
是有问题的轴,则以下操作将起作用:
ax.set_xticklabels([],minor=False) # the default
ax.set_xticklabels([],minor=True)
然后,您可以设置所需的勾号标签和勾号位置。您能给出一个示例数据框和最低工作代码吗
set_xticks([])
在一个简单的示例中对我来说很好。您能给出一个示例数据帧和最低工作代码吗<在一个简单的例子中,代码>设置图标([])对我来说很好。