我想使用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 ,不应出现here或here所示的问题。我尝试在上面代码的最后一行之后添加plt.close()
,但错误仍然存在。
也许最令人惊讶的是:我还尝试在单独的Python脚本中运行代码(使用plt.show()
),并且图表正确显示!是否有人对于发生了什么有什么想法?提前谢谢!
编辑:我也尝试了pylab
而不是pyplot
,结果相同。我是否需要使用某个python
模块编译程序才能正确链接库?