繁体   English   中英

Matplotlib:X 轴刻度线间距未与所有列居中

[英]Matplotlib: X-axis tick mark spacing is not centered with all columns

我正在尝试在一个直方图上 plot 3 个不同的分布。 由于我不明白的原因,这些列在 X 轴刻度线之间居中表示低值,但不表示高值。 令人困惑的是,当我尝试随机数而不是我的数据时,问题就解决了。

绘制 function:

import matplotlib.pyplot as plt

plt.rc('font',family='Phetsarath OT')
plt.rcParams["legend.fontsize"] = 12
%matplotlib inline

def plotHistogram_test(x, y, z):

    plt.figure(figsize=[10, 6])
    plt.hist([x, y, z], color=['blue','black', 'red'], bins=10, align='mid', rwidth=0.5)

    plt.gca().spines['right'].set_color('none')
    plt.gca().spines['top'].set_color('none')

    plt.title('', fontsize=14)
    plt.xlabel('', fontsize=14, labelpad=5)
    plt.ylabel('', fontsize=14, labelpad=5)


    plt.xticks(np.arange(0, 1.1, step=0.1), fontsize=12)    
    plt.yticks(fontsize=12)
    plt.tick_params(axis='both', which='both', left=True, bottom=True,labelbottom=True) 

    plt.show()

Output 带随机数:

plotHistogram_test(np.random.uniform(size=100), np.random.uniform(size=100), np.random.uniform(size=100))

在此处输入图像描述

Output 带真实数据:

在此处输入图像描述

注意柱子是如何开始居中的,然后慢慢地漂移......

设置bins=[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1]可以解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM