Python — C ++: Matplotlib pyplot show () дает SegFault

Я хочу создать график журнала с использованием pyplot, но у меня возникают проблемы при вызове plt.show():

import matplotlib.pyplot as plt

xVec = [...]
yVec = [...]

plt.figure()
plt.loglog(xVec,yVec,'.',label='This is my test plot')
plt.xlabel('x axis')
plt.ylabel('y axis')

plt.show()

Я запускаю этот код из C ++ через:

Py_Initialize();
Py_SimpleString(pythonCode.str().c_str());
Py_Exit(0);

где pythonCode это stringstream содержащий код Python выше. Код запускается, если я не включаю plt.show() линия, но, конечно, сюжет не появляется.

matplotlibrc Конфигурационный файл показывает, что серверная часть TkAgg, что не должно создавать проблем, как указано Вот или же Вот. Я пытался добавить plt.close() после последней строки в коде выше, но ошибка сохраняется.

Возможно, самое удивительное заключается в следующем: я также попытался запустить код в отдельном скрипте Python (с plt.show()), а также сюжет отображается правильно! Кто-нибудь имеет представление о том, что происходит? Заранее спасибо!

РЕДАКТИРОВАТЬ: я также пытался pylab вместо pyplotс такими же результатами. Нужно ли компилировать программу с определенным python модуль для правильной связи библиотек?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]