#python #matplotlib #multiprocessing
Вопрос:
Я хочу ускорить свой процесс с multiprocessing
помощью модуля, но он всегда показывает пустой график.
Вот некоторый код для воспроизведения проблемы:
def plot_(ax, chart):
x = np.arange(30)
if chart == 1:
y = np.exp(x)
else:
y = np.arange(30)
# plt.xscale('log', base=10)
ax.barh(x, y)
ax.set_title('chart %d' % chart)
import matplotlib.pyplot as plt
import multiprocessing
from plot_ import plot_
fig, axs = plt.subplots(1, 2, sharey=True, figsize=(12, 8))
p1 = multiprocessing.Process(target=plot_, args=(axs[0], 0))
p2 = multiprocessing.Process(target=plot_, args=(axs[1], 1))
p1.start()
p1.join()
p2.start()
p2.join()
plt.show()
Если я не использую многопроцессорную обработку:
plot_(axs[0], 0)
plot_(axs[1], 1)