【问题标题】:Spacing of x-axis label in Seaborn plot [duplicate]Seaborn图中x轴标签的间距[重复]
【发布时间】:2021-01-23 04:01:00
【问题描述】:

我正在尝试绘制移动平均线图,数据都很好。

我遇到的问题是 x 轴标签,尽管我已经将它旋转到 90 度,但标签都是重叠的。

在某一点上增加图像的宽度只会增加最左边和最右边的列,而不是平均分布所有列的宽度。

标签不是数字,它是一个由数字和字符组成的字符串,例如:0424NA581G

可以吗

  1. 按一定间隔绘制 x 轴标签?数据点都需要保留,但我可以放弃轴标签

我尝试过this solution,但它会将我的标签变成 0、5、10、15 等,而不是我原来的标签

  1. 要均匀分布列宽,以便通过简单地增加图像大小来解决此问题。

谢谢!

sns.set_context('talk')

plt.figure(figsize=(50,10))

# Time-series plot
sns.lineplot(x='batch_no',
            y='hardness',
            label='Daily',
            data=df_NA,
            ci=None)

# Rolling average plot
sns.lineplot(x='batch_no',
            y='7_batch_average',
            label='7-batch average',
            data=df_NA,
            ci=None)

plt.xlabel("Date")
plt.ylabel("NA hardness")

plt.xticks(rotation="90")

【问题讨论】:

    标签: python matplotlib plot seaborn


    【解决方案1】:

    您可以使用plt.xticks() 进行设置

    sns.set_context('talk')
    plt.figure(figsize=(50,10))
    
    # Time-series plot
    sns.lineplot(x='batch_no', y='hardness', label='Daily', data=data, ci=None)
    
    # Rolling average plot
    sns.lineplot(x='batch_no', y='7_batch_average', label='7-batch average', data=data, ci=None)
    
    plt.xlabel("Date")
    plt.ylabel("NA hardness")
    plt.xticks(rotation="90")
    
    plt.xticks(data['batch_no'][::50])    # set here, ticks at step of 50
    
    plt.show()
    

    第 50 步的刻度

    在第 10 步打勾

    【讨论】: