Python 3.x 如何在python中为直方图构建混合x轴?

Python 3.x 如何在python中为直方图构建混合x轴?,python-3.x,pandas,matplotlib,Python 3.x,Pandas,Matplotlib,我想画出一个偶尔失败的过程的完成时间。除了一个柱状图外,我所有的桶都是数字的。如何将“失败”或“时间”添加到直方图中 到目前为止,我的工作都绘制了这两个图形,但我丢失了数字x标签 import numpy as np import pandas as pd np.random.seed(0) time = np.random.uniform(size = 1000) fail = time > 0.95 d = pd.DataFrame(time) d.loc[fail,0] = n

我想画出一个偶尔失败的过程的完成时间。除了一个柱状图外,我所有的桶都是数字的。如何将“失败”或“时间”添加到直方图中

到目前为止,我的工作都绘制了这两个图形,但我丢失了数字x标签

import numpy as np
import pandas as pd

np.random.seed(0)

time = np.random.uniform(size = 1000)
fail = time > 0.95

d = pd.DataFrame(time)
d.loc[fail,0] = np.nan
d['fail'] = np.isnan(d.loc[:,0])

ax = d[0].hist()
ax.bar(x=1.5,height=d['fail'].sum(),color='r',tick_label='Fail')
调用
ax.bar()
将数字记号替换为新条上的一个记号。我不知道是否有一个推荐的方法来处理这个问题,但是我可以手动设置刻度。我留下了一个主要的记号,就像你现在看到的一样,然后为数字箱子添加了次要的记号

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

np.random.seed(0)

time = np.random.uniform(size = 1000)
fail = time > 0.95

d = pd.DataFrame(time)
d.loc[fail,0] = np.nan
d['fail'] = np.isnan(d.loc[:,0])

ax = d[0].hist()
ax.bar(left=1.5,height=d['fail'].sum(),color='r',tick_label='Fail')

minor_ticks = [x/5 for x in range(6)]
ax.set_xticks(minor_ticks, minor=True)
ax.set_xticklabels(minor_ticks, minor=True)

plt.show()
我还必须将您的
ax.bar(x=…)
更改为
ax.bar(left=…)
。我不知道这是一个错误还是只是版本差异

我的情节是这样的: