如何显示DateTimeIndex x_tick标签

时间:2019-05-16 20:12:30

标签: pandas plot series

我有一个带有DateTimeIndex的Pandas系列,我将其绘制为线条图。我希望我的x_ticks和x_tick标签仅是该系列的DateTimeIndex。

使用下面的代码显示我想要的x_ticks,但是我也将'Jan 2019'和'Feb'都添加到了x_tick标签中,并且将值的30和10分别添加到了x轴(这是第一个和最后一个DateTimeIndex的日期值)。

select test1, test2, test3
from (
    select
        'FILLER' AS test1,
        test2,
        test3
    from datanewdb
) datanewdb 
where test1 = '123';

有人可以告诉我如何删除这些其他标签吗?我希望x_tick标签仅是我的测试系列中的DateTimeIndex。

在此处查看屏幕截图,其中不想要的标签用红色圈出

img

1 个答案:

答案 0 :(得分:0)

一种快速的解决方案是绘制

w_c = pd.date_range(start=pd.to_datetime('2018-12-30'), end=pd.to_datetime('2019-02-10'), freq='w')
sales = [111.94, 193.44, 143.46, 157.26, 124.8, 206.26, 127.22]
test = pd.Series(sales, index=w_c)

fig,ax = plt.subplots(figsize=(8,7))

# plot on ranks of rows instead of index
ax.plot(range(len(test)), test, color='darkorange', lw=0.8)
ax.set_ylim(0,250)
ax.xaxis.grid(True, which="both")

# manually modify the label
ax.set_xticklabels([''] + test.index.strftime('%d/%m/%Y').to_list(), rotation=25)

输出:

enter image description here