如何在多处理或多线程中使用队列来计算值并对它们进行注释?

2024-06-09 10:09:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我现在正在做我的项目,但是我一直在研究如何在matplotlib中使用多处理或线程来做注释。你知道吗

我想在每个注释中显示一个值的间隔,从间隔的开始一直计数到顶部,我确信有一个简单的方法可以做到这一点,但我就是想不出来。你知道吗

我也有一个问题的范围,其中开始值>;结束值的原因是范围不工作!你知道吗

这是我到目前为止尝试做的。你知道吗

data0=rd.sample(range(100),20)
data1=rd.sample(range(100),20)
print(data0,'\n',data1)
Ranges = [range(y, n) for y,n in zip(data0, data1)]
fig = plt.figure(figsize=(11,6))#, facecolor="skyblue")
axes = plt.gca()
x = arange(20)
y = data0
bars = plt.barh(x, y, height=.8)

def worker(item):
    for j in item:
        ann=axes.text(bar.get_width(), bar.get_y(), '', ha='left', va='bottom',fontsize=10)
        ann.set_text(j)
        #plt.pause(.0000000000001)
pool = ThreadPool(20)
for bar, ran in zip(bars, Ranges):
    Result=pool.map(worker, (ran,))
pool.close()
pool.join()
plt.show()

我试图在worker内部使用plt.clear()plt.pause(),但它只是不断抛出消息,因为主线程不在主循环上。你知道吗

我该怎么解决这个问题?你知道吗


Tags: sampleinfor间隔barrangepltrd