我对matplotlib完全陌生,我想创建一个简单的直方图,以显示苍蝇在测试室内的各个位置。我似乎已经这样做了,但是由于某种原因,直方图的中心已经缩进了橙色条。我不确定为什么会这样。 (顺便说一句,我知道我使用的是列表而不是np数组,但是更改它并不能解决该错误)。抱歉,如果这真的很简单,但我似乎无法在网上找到任何东西来解决它。
import matplotlib.pyplot as plt
import _pickle as pickle
import numpy as np
def loadFile(pname):
with open(pname, 'r+b') as file:
pos = pickle.load(file)
return pos
#specifies which fly out of the many tracked
fly = 2
pos = loadFile('/Users/JKTechnical/Codes/FlyWork/posTester.vD')
#transpose the list into x and y values
t_pos = list(zip(*pos[fly]))
x = t_pos[0]
y = t_pos[1]
fig, axs = plt.subplots(1,1)
axs.hist(x, bins=20)
axs.hist(y, bins=20)
plt.show()
这就是我得到的:
答案 0 :(得分:0)
您正在编写的代码将创建重叠的直方图。列表y的直方图将与列表“ x”重叠。橙色条形将是您的直方图之一,可能是第二个直方图,在这种情况下,这是您的列表y。
尝试更改直方图之一的bin大小,您可以确定哪个代表橙色条形。
仅需注意,发布示例数据始终有助于更好地理解和回答您的问题。