python matplotlib: plotando em outro processo

EDIT: O requisito final para um programa Python é: receber dados do UART de um circuito externo (que provavelmente está equipado com alguns sensores), o programa processará esses dados e desenhará uma curva atualizada dinamicamente na tela do computador.

Portanto, quero plotar dinamicamente, o script de teste a seguir inicia um subprocesso e, nesse processo, ele aceita dados do processo pai por meio de uma Fila e plota os dados adequadamente.

Mas quando o script é executado, apenas uma figura vazia é mostrada, posso ver o console imprimindo "put:" e "got:", significando que o pai e o subprocesso estão em execução e se comunicando, mas nada acontece na janela de figura da GUI.

Além disso, a janela da GUI não responde e, se eu clicar na janela, ela trava.

O sistema é o Windows 10, 64 bits. A versão Python é 2.7 (32 bits)

Qual é o problema aqui? obrigado!

import matplotlib.pyplot as plt
import multiprocessing as mp
import random
import numpy
import time

def worker(q):
    plt.ion()
    ln, = plt.plot([], [])
    plt.show()

    while True:
        obj = q.get()
        n = obj + 0
        print "sub : got:", n

        ln.set_xdata(numpy.append(ln.get_xdata(), n))
        ln.set_ydata(numpy.append(ln.get_ydata(), n))
        plt.draw()

if __name__ == '__main__':
    queue = mp.Queue()
    p = mp.Process(target=worker, args=(queue,))
    p.start()

    while True:
        n = random.random() * 5
        print "main: put:", n
        queue.put(n)
        time.sleep(1.0)