python-3.x - 多处理显示 matplotlib 图

标签 python-3.x matplotlib multiprocessing

我试图打开多个地块,但遇到了一些问题。当我尝试使用线程创建绘图时,python 会首先打开多个窗口,然后关闭除第一个之外的所有窗口。

在另一个问题中,建议我使用我尝试过的多处理。代码运行没有错误,只是没有显示任何情节。
在继续我的主要项目之前,我试图让一些非常简单的事情工作。

# Import the necessary packages and modules
import matplotlib.pyplot as plt
import numpy as np


#from threading import Thread
import multiprocessing

def plot(datax, datay, name):
    # Prepare the data
    x = datax
    y = datay**2
    # Plot the data
    plt.scatter(x, y, label=name)

    # Add a legend
    plt.legend()

    # Show the plot
    plt.show()



#plot(3,3,)
'''
for i in range(10):
    t = Thread(target=plot, args=(i,i+1,i,))
    t.start()
    '''
for i in range(2):
    p = multiprocessing.Process(target=plot, args=(i, i, i))
    p.start()

更新:
出于某种原因,多处理再次停止工作。我尝试创建一个函数 multiP() 仅用于打开进程,但是当我添加 input('value: ') 时它不起作用。 scine 我不知道如何将数据发送到特定线程我要保存这样的数据:dat = [[x,y0,y1,...yn],[x,y0,y1,.. .yn],...] 和每个绘图过程检查是否向 dat 添加了某些内容。

import matplotlib.pyplot as plt
import numpy as np

import multiprocessing
#multiprocessing.freeze_support() # <- may be required on windows

def plot(datax, datay, name):
    x = datax
    y = datay**2
    plt.scatter(x, y, label=name)
    plt.legend()
    plt.show()

def multiP():
    if __name__ == "__main__":   
        for i in range(2):
            p = multiprocessing.Process(target=plot, args=(i, i, i))
            p.start()
if True:
    #input('Vlaue: ') # while commented plots are shown
    multiP()

最佳答案

以下代码根据需要生成两个数字。

import matplotlib.pyplot as plt
import numpy as np

import multiprocessing
#multiprocessing.freeze_support() # <- may be required on windows

def plot(datax, datay, name):
    x = datax
    y = datay**2
    plt.scatter(x, y, label=name)
    plt.legend()
    plt.show()

def multiP():
    for i in range(2):
        p = multiprocessing.Process(target=plot, args=(i, i, i))
        p.start()

if __name__ == "__main__": 
    input('Value: ') 
    multiP()

关于python-3.x - 多处理显示 matplotlib 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43571924/

相关文章:

python - 将数据帧附加到多处理目标函数之外的列表

python - 我应该如何 scipy.optimize 具有边界的多元且不可微的函数?

python - 奇怪的行为正则表达式

python - Python 中的参数和参数如何工作?

python - 如何调整和塑造子图?

python - 将 'unorthodox' 轴标签添加到 pyplot

python-3.x - scipy.io.wavfile.read()返回什么?

python - 将 xticks 和 yticks 放置在 imshow 图上的像素中心

python - 如何加速 pandas 数据帧迭代

c - 唯一标识套接字