为了账号安全,请及时绑定邮箱和手机立即绑定

无法使用python多处理在新进程中绘制任何内容或显示pylab框架

无法使用python多处理在新进程中绘制任何内容或显示pylab框架

白猪掌柜的 2021-04-01 08:35:24
有谁知道为什么下面的代码甚至无法打开pylab图形窗口?如果将测试功能的主体移到主流程中,则可以正常工作,但我想专门从新流程中进行一些绘制。from multiprocessing import Processfrom pylab import *def test():    frac = [10, 10, 10, 10, 10, 10, 40]    labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g']    ion()    hold(False)    while True:        pie(frac, labels = labels, autopct='%1.1f%%')        title('test', bbox={'facecolor' : '0.8', 'pad' : 5})        draw()p1 = Process(target = test)p1.daemon = Truep1.start()while True:    pass
查看完整描述

2 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

您的原始代码会占用您的CPU,这就是为什么您没有看到这个数字的原因。我对您的代码做了一些更改,主要是摆脱了while(1)循环。这对您有用吗?


from multiprocessing import Process

from pylab import *


def test():

    frac = [10, 10, 10, 10, 10, 10, 40]

    labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g']

    ion()

    hold(False)

    pie(frac, labels = labels, autopct='%1.1f%%')

    title('test', bbox={'facecolor' : '0.8', 'pad' : 5})

    draw()


p1 = Process(target = test)

p1.daemon = True

p1.start()


import time

time.sleep(5)


查看完整回答
反对 回复 2021-04-05
  • 2 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信