我想绘制一个范围为(2000,2005)和bin = 0.1的直方图
data=np.random.uniform(2000,2005,[1000,1])
eg:
2003.98154
2000.2205
2000.0543
2003.6567
2002.0811
2003.0414
2004.9626
2002.3848
2004.8585
2001.4287
2004.4931
但是在直方图中,我想为条形给出特定的面色,这些色落在以0.7到0.9之间的十进制结尾的范围内
eg:
2000.7 to 2000.9
2001.7 to 2001.9
.
.
2005.7 to 2005.9
那可能吗?怎么做?
是的,有可能,当您创建直方图时,plt.hist
您可以检索各种信息并修改图形,包括颜色:
import numpy as np
import matplotlib.pyplot as plt
data = np.random.uniform(2000, 2005, [1000, 1])
N, bins, patches = plt.hist(data, bins=[2000 + 0.1 * i for i in range(51)], color="b")
for bin_number, patch in enumerate( patches):
# float comparison e.g. number_end >= 0.7 and number_end <= 0.9 is unsafe, so we use bin number
if 7 <= bin_number % 10 < 9:
patch.set_facecolor("r")
plt.show()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句