首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matplotlib绘图窗口为白色空白,不显示任何图像

Matplotlib绘图窗口为白色空白,不显示任何图像
EN

Stack Overflow用户
提问于 2019-05-07 06:20:40
回答 2查看 2.9K关注 0票数 0

我使用的是Mac OS 10.14.4。我已经在miniconda3环境中安装了python。下面是带有"conda list“的包列表。

我遇到的问题是,当我在终端中运行"python“并打开shell时,我试图一个接一个地运行代码。

代码语言:javascript
复制
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”。

解决这个问题的任何帮助都是非常有价值的。

EN

回答 2

Stack Overflow用户

发布于 2019-05-07 06:59:01

根据我的经验,要在Mac OS上实现这一点,我发现使用完整版本的Anaconda并使用VS Code作为编辑器/IDE要容易得多。

卸载Miniconda:

  • 打开终端窗口并删除整个miniconda安装目录:

代码语言:javascript
复制
rm -rf ~/miniconda.

  • 您还可以编辑`~/.bash\_profile并从PATH环境中删除miniconda目录隐藏的.condarc文件以及通常在您的目录中创建的.conda和.continuum目录:

代码语言:javascript
复制
rm -rf ~/.condarc ~/.conda ~/.continuum

安装蟒蛇和VS代码:

  • 转到installation website并下载Mac安装程序(我建议选择最新版本的Python (3.7)
  • 按照已安装的安装instructions
  • Once操作,打开Anaconda Navigator并选择安装VS代码的选项:

VS Code Install/Launch

运行测试脚本

通过Anaconda Installer

  • Create a new script打开VS代码:文件>新建文件

  • 将其另存为以下代码:

代码语言:javascript
复制
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-4*np.pi,4*np.pi)
y = np.sin(x)
plt.plot(x,y,'.-')
plt.show()

(Ctrl+Shift+P)

  • Enter

  • 保存文件并选择Anaconda Python interpreter:

  • Open

  • "Python: Select
  • 名称中显示"anaconda“的命令...
  • 再次打开命令对话框(Ctrl+Shift+P)
  • Enter "Python: Create

”,然后在终端运行中:

代码语言:javascript
复制
python test.py

希望这一切都能正常工作,您将看到以下内容:

Sin function graph

票数 1
EN

Stack Overflow用户

发布于 2019-10-02 08:57:00

我可以通过添加以下代码来修复macOS Majave 10.14.6的问题,而无需通过Anaconda/Conda重新安装(如https://stackoverflow.com/a/56025793/1657354中所述):

代码语言:javascript
复制
import matplotlib
import platform
if platform.system() == 'Darwin':
    matplotlib.use('MacOSX')
else:
    matplotlib.use('TkAgg')

我相信platform.system() == 'Darwin'允许这些代码在其他平台上工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56013105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档