x 轴不等步长的直方图

问题描述 投票:0回答:1

我在 Power BI 中使用 Python 创建了一个直方图,我正在寻找一种逐步创建 x 轴的方法。

我当前的代码:

import matplotlib.pyplot as plt
plt.hist(dataset.deviation_in_percent, bins=80, edgecolor="#6A9662",color="#DDFFDD")
plt.show()

而不是

bins=80
我正在寻找以下内容:

对于偏差百分比列,我想将 x 轴从 -150% 到 -100% 开始(创建一个区间)。然后以 2.5% 的步长继续,例如 -100% 到 -97.5%、-97.5% 到 -95.0% 等等,直到 100%。然后以 100% 到 150% 完成。如果我计算正确的话,最后应该是 82 个间隔。

只是为了确定 y 轴:我想我得到了唯一的偏差百分比(或者换句话说,行数而不是不同的行数),对吗?

我期待像这样的直方图

python matplotlib histogram
1个回答
1
投票

除了给出多个 bin 之外,您还可以给出 bin 边缘的列表(或数组)。

np.concatenate()
可以帮助连接不同的列表:

import matplotlib.pyplot as plt
import numpy as np

# create some random test data
data = np.random.randn(500, 4).cumsum(axis=0).ravel() * 3
# concatenate the bin edges
bin_edges = np.concatenate([[-150], np.linspace(-100, 100, 81), [150]])
plt.figure(figsize=(12, 5))
plt.hist(data, bins=bin_edges, edgecolor="#6A9662", color="#DDFFDD")
plt.xlabel('deviation in percent')
plt.ylabel('count')
plt.tight_layout()
plt.show()

© www.soinside.com 2019 - 2024. All rights reserved.