Python 如何旋转轴标签并隐藏其中一些?

Python 如何旋转轴标签并隐藏其中一些?,python,pandas,matplotlib,time-series,Python,Pandas,Matplotlib,Time Series,我试着画一个时间序列和它的区别 但是,x轴标签有两个问题: 它不旋转 画布上的月份太多,空间太少 如何旋转所有标签并隐藏一些日期 由于保密的原因,我无法显示数据。但它基本上是一个(数字)列,包含序列和(日期)索引 这就是我到目前为止所做的: import numpy as np, pandas as pd from statsmodels.graphics.tsaplots import plot_acf, plot_pacf import matplotlib.pyplot as plt pl

我试着画一个时间序列和它的区别

但是,x轴标签有两个问题:

  • 它不旋转
  • 画布上的月份太多,空间太少
  • 如何旋转所有标签并隐藏一些日期

    由于保密的原因,我无法显示数据。但它基本上是一个(数字)列,包含序列和(日期)索引

    这就是我到目前为止所做的:

    import numpy as np, pandas as pd
    from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
    import matplotlib.pyplot as plt
    plt.rcParams.update({'figure.figsize':(9,7), 'figure.dpi':120})
    
    # Original Series
    fig, axes = plt.subplots(3, 2, sharex=True);
    axes[0, 0].plot(df.teste); 
    axes[0, 0].set_title('Original Series');
    axes[0,0].set_xticklabels(df.index,rotation=90)
    plot_acf(df.teste, ax=axes[0, 1]);
    
    # 1st Differencing
    axes[1, 0].plot(df.teste.diff()); 
    axes[1, 0].set_title('1st Order Differencing');
    plot_acf(df.teste.diff().dropna(), ax=axes[1, 1]);
    
    # 2nd Differencing
    axes[2, 0].plot(df.teste.diff().diff()); 
    axes[2, 0].set_title('2nd Order Differencing');
    axes[2,0].set_xticklabels(df.index,rotation=90)
    plot_acf(df.teste.diff().diff().dropna(), ax=axes[2, 1]);
    
    这是输出:

    检查此代码:

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.linspace(0, 10, 1000)
    y = np.sin(x)
    
    fig, ax = plt.subplots(1, 2, figsize = (8, 4))
    
    ax[0].plot(x, y, 'r-', lw = 2)
    ax[0].set_xticks(np.arange(0, 10, 0.25))
    
    ax[1].plot(x, y, 'r-', lw = 2)
    ax[1].set_xticks(np.arange(0, 10, 1))
    locs, labels = plt.xticks()
    plt.setp(labels, rotation = 90)
    
    plt.show()
    
    这给了我一个例子:

    如您所见,两个图形都有相同的选项,但在第二个(右侧)中,我设置了:

    xtick
    隔开以移除其中一些,以及

    locs, labels = plt.xticks()
    plt.setp(labels, rotation = 90)
    
    旋转它们的方向。

    检查此代码:

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.linspace(0, 10, 1000)
    y = np.sin(x)
    
    fig, ax = plt.subplots(1, 2, figsize = (8, 4))
    
    ax[0].plot(x, y, 'r-', lw = 2)
    ax[0].set_xticks(np.arange(0, 10, 0.25))
    
    ax[1].plot(x, y, 'r-', lw = 2)
    ax[1].set_xticks(np.arange(0, 10, 1))
    locs, labels = plt.xticks()
    plt.setp(labels, rotation = 90)
    
    plt.show()
    
    这给了我一个例子:

    如您所见,两个图形都有相同的选项,但在第二个(右侧)中,我设置了:

    xtick
    隔开以移除其中一些,以及

    locs, labels = plt.xticks()
    plt.setp(labels, rotation = 90)
    

    旋转他们的方向。

    我仍然不知道如何在我的案例中应用它。当我使用轴[2,0].set_xticks(np.arange(0,len(df2,3))时,我得到了我想要的,但只是右下角的图形。另一个仍然有一个凌乱的标签,因为在写
    轴[2,0]
    时您正在指定该图形。循环所有图形
    [i,j]
    ,并以相同的方法应用它们。。。我尝试了所有的组合,但没有一个有效。我仍然不知道如何将其应用到我的案例中。当我使用轴[2,0].set_xticks(np.arange(0,len(df2,3))时,我得到了我想要的,但只是右下角的图形。另一个仍然有一个凌乱的标签,因为在写
    轴[2,0]
    时您正在指定该图形。循环所有图形
    [i,j]
    ,并以相同的方法应用它们。。。我尝试了所有的组合,但都不起作用。