我的数据集是一个大小为(m,1)的数值数组,我需要两个图: a)整个数据归一化(概率)的一个;b)数据集的一个子集,保持与以前相同的归一化。
问题是,在b)情况下,matplotlib和seaborn提供的归一化选项仅“看到”子集,因此它们无法基于整个数据进行归一化。
从本质上讲,我想做的是:
bar_height = bar_count / m
示例数据:
array([[-0.00996642],
[ 0.00407526],
[ 0.00547561],
...,
[ 0.05205999],
[ 0.00224144],
[ 0.01201942]])
发布于 2020-11-06 15:30:16
您可以使用np.histogram()
计算直方图,然后使用plt.bar()
绘制条形图:
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
sns.set()
m = 200
samples = np.random.rand(1000)
hist_values, bin_edges = np.histogram(samples)
plt.bar(x=bin_edges[:-1], height=hist_values / m, width=np.diff(bin_edges), align='edge')
plt.show()
https://stackoverflow.com/questions/64716033
复制相似问题