Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Matplotlib绘图窗口为白色空白,不显示任何图像_Python_Python 3.x_Matplotlib_Miniconda - Fatal编程技术网

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

Python Matplotlib绘图窗口为白色空白,不显示任何图像,python,python-3.x,matplotlib,miniconda,Python,Python 3.x,Matplotlib,Miniconda,我使用的是Mac OS 10.14.4。我已经在miniconda3环境中安装了python。以下是带有“康达列表”的包裹列表 我遇到的问题是,当我在终端中运行“python”并打开shell时,我会尝试逐个运行代码 import openmc sp1 = openmc.StatePoint('statepoint.550-20.h5') tally1 = sp1.tallies[1] flux1 = tally1.mean.ravel() import matplotlib.pyplot

我使用的是Mac OS 10.14.4。我已经在miniconda3环境中安装了python。以下是带有“康达列表”的包裹列表

我遇到的问题是,当我在终端中运行“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的目录中

当我运行
import matplotlib.pyplot作为plt时;plt.get_backend()
在python shell中,我看到了
'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”


根据我的经验,解决这个问题的任何帮助都是非常宝贵的。要在Mac OS上实现这一点,我发现使用完整版本的Anaconda并使用VS代码作为编辑器/IDE要容易得多

卸载Miniconda:

  • 打开终端窗口并删除整个miniconda安装目录:
  • 您还可以编辑“`~/.bash\u profile``并从PATH环境变量中删除miniconda目录
  • 删除隐藏的.condarc文件以及通常在目录中创建的.conda和.continuum目录:
安装Anaconda和VS代码:

  • 转到并下载Mac OS安装程序(我建议选择最新版本的Python(3.7)

  • 按照安装说明进行操作

  • 安装后,打开Anaconda Navigator并选择安装VS代码的选项:

运行测试脚本

  • 通过Anaconda安装程序打开VS代码
  • 创建新脚本:文件>新文件
  • 将其另存为“test.py”
  • 输入以下代码:
  • 保存文件
  • 选择Anaconda Python解释器:
  • 打开命令托盘(
    Ctrl+Shift+P
  • 输入“Python:选择解释器”
  • 选择名字里写着“巨蟒”的那个
  • 再次打开命令对话框(
    Ctrl+Shift+P
  • 输入“Python:创建终端”并在终端运行中:
希望这些都能奏效,您将看到以下内容:


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

卸载Miniconda:

  • 打开终端窗口并删除整个miniconda安装目录:
  • 您还可以编辑“`~/.bash\u profile``并从PATH环境变量中删除miniconda目录
  • 删除隐藏的.condarc文件以及通常在目录中创建的.conda和.continuum目录:
安装Anaconda和VS代码:

  • 转到并下载Mac OS安装程序(我建议选择最新版本的Python(3.7)

  • 按照安装说明进行操作

  • 安装后,打开Anaconda Navigator并选择安装VS代码的选项:

运行测试脚本

  • 通过Anaconda安装程序打开VS代码
  • 创建新脚本:文件>新文件
  • 将其另存为“test.py”
  • 输入以下代码:
  • 保存文件
  • 选择Anaconda Python解释器:
  • 打开命令托盘(
    Ctrl+Shift+P
  • 输入“Python:选择解释器”
  • 选择名字里写着“巨蟒”的那个
  • 再次打开命令对话框(
    Ctrl+Shift+P
  • 输入“Python:创建终端”并在终端运行中:
希望这些都能奏效,您将看到以下内容:


通过添加此代码(如中所述),我能够修复macOS
Majave 10.14.6
的问题,而无需通过Anaconda/Conda重新安装:


我相信
platform.system()==“Darwin”
允许此代码在其他平台下工作。

我能够解决macOS
Majave 10.14.6
的问题,而无需通过Anaconda/Conda重新安装此代码(如中所述):


我相信
platform.system()打开白色空白窗口,没有图像。请参见“谢谢”。刚才有人报告了一个类似的问题:我不认为TkAgg在MacOS上特别强大,而且它似乎以奇怪的方式失败。如果你真的想要MacOS后端,你需要
conda安装python.app
并运行
pythonw
,而不是python.H然而,大多数matplotlib开发者只使用
pyqt
,这应该调用
qt5Agg
后端。开始更简单。你能用matplotlib显示任何图形吗?比如
python-c“将matplotlib.pyplot导入为plt;plt.plot([1,3,2]);plt.show()
?正如我所说的plt.show()打开白色空白的窗口,n
rm -rf ~/miniconda.
rm -rf ~/.condarc ~/.conda ~/.continuum
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()

python test.py
import matplotlib
import platform
if platform.system() == 'Darwin':
    matplotlib.use('MacOSX')
else:
    matplotlib.use('TkAgg')