【发布时间】:2019-05-06 22:20:40
【问题描述】:
我使用的是 Mac OS 10.14.4。我在 miniconda3 环境中安装了 python。以下是带有“conda list”的软件包列表
我遇到的问题是,当我在终端中运行“python”并打开 shell 时,我尝试一一运行代码。
import openmc
sp1 = openmc.StatePoint('statepoint.550-20.h5')
tally1 = sp1.tallies[1]
flux1 = tally1.mean.ravel()
import matplotlib.pyplot as plt
import numpy as np
y = np.reshape(flux1, (200,200))
plt.imshow(y, cmap=plt.cm.viridis)
plt.show()
我遇到的问题是在运行plt.show() 之后,绘图窗口会打开,显示一个没有任何图像的白屏。现在,如果我运行 plt.savefig('19.7fast.png') 而不是 plt.show() 我可以将图像保存在我在终端中运行 python shell 的目录中。
当我在 python shell 中运行import matplotlib.pyplot as plt; plt.get_backend() 时,我看到'TkAgg',现在我尝试更改为plt.switch_backend('MacOSX'),因为我看到了一些类似的问题和类似的解决方案。但是,这给了我错误
ImportError:Python 未作为框架安装。如果没有将 Python 作为框架安装,Mac OS X 后端将无法正常运行。有关在 Mac OS X 上将 Python 作为框架安装的更多信息,请参阅 Python 文档。请重新安装 Python 作为框架,或尝试使用其他后端之一。如果您使用的是 (Ana)Conda,请安装 python.app 并将“python”的使用替换为“pythonw”。有关更多信息,请参阅 Matplotlib 常见问题解答中的“在 OSX 上使用 Matplotlib”。
非常感谢任何解决此问题的帮助
【问题讨论】:
-
开始更简单。你能用 matplotlib 显示任何图表吗?喜欢
python -c "import matplotlib.pyplot as plt; plt.plot([1,3,2]); plt.show()? -
正如我所说 plt.show() 打开白色空白窗口,那里没有图像。请参阅imgur.com/PmUzLtB 谢谢。
-
刚才有人报告了类似的问题:stackoverflow.com/questions/56023918/…
-
我发现 TkAgg 在 MacOS 上并不是特别强大,而且它似乎以奇怪的方式失败。如果你真的想要 macOS 后端,你需要
conda install python.app并运行pythonw而不是 python。但是,大多数 matplotlib 开发人员只使用pyqt,它应该调用qt5Agg后端。
标签: python python-3.x matplotlib miniconda