c ++:Matplotlib pyplot show()给出了SegFault

时间:2016-01-29 17:53:32

标签: python c++ matplotlib

我想使用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是包含上述Python代码的stringstream。如果我不包含plt.show()行,代码就会运行,但当然没有显示情节。

matplotlibrc配置文件显示后端为 TkAgg ,不应出现herehere所示的问题。我尝试在上面代码的最后一行之后添加plt.close(),但错误仍然存​​在。

也许最令人惊讶的是:我还尝试在单独的Python脚本中运行代码(使用plt.show()),并且图表正确显示!是否有人对于发生了什么有什么想法?提前谢谢!

编辑:我也尝试了pylab而不是pyplot,结果相同。我是否需要使用某个python模块编译程序才能正确链接库?

0 个答案:

没有答案
相关问题