我试图用pyplot绘制一个简单的图形,例如:

import matplotlib.pyplot as plt
plt.plot([1,2,3],[5,7,4])
plt.show()

但是这个图没有出现,我得到了以下消息:

UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.

我在几个地方看到必须使用以下命令更改matplotlib的配置:

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt

我这样做了,但得到了一个错误消息,因为它找不到一个模块:

ModuleNotFoundError: No module named 'tkinter'

然后,我尝试使用pip install tkinter(在虚拟环境中)安装“tkinter”,但它没有找到它:

Collecting tkinter
  Could not find a version that satisfies the requirement tkinter (from versions: )
No matching distribution found for tkinter

我还应该提到,我是在使用虚拟环境的Pycharm Community Edition IDE上运行所有这些,并且我的操作系统是Linux/Ubuntu 18.04。

我想知道我如何解决这个问题,以便能够显示图形。


当前回答

这将解决问题。它在木星上工作得很好。

%matplotlib inline

其他回答

我在Windows 7和PyCharm Pro上也遇到过同样的问题。 它发生在我安装金融软件包“ffn”之后

import ffn

Matplotlib后端更改为“add”。 你可以检查当前后端:

matplotlip.get_backend()

您可以通过以下方式更改当前后端:

matplotlib.use(backend = "module://backend_interagg")

这在一个额外的或内部窗口中为我的PyCharm Professional解决了问题。

我在PyCharm中也遇到了这个问题。这个问题是因为您的机器中没有tkinter模块。

按照下面给出的步骤安装(选择合适的操作系统)

对于ubuntu用户

 sudo apt-get install python-tk

or

 sudo apt-get install python3-tk

对于Centos用户

 sudo yum install python-tkinter

or

 sudo yum install python3-tkinter

适用于Arch用户

  sudo pacman -S tk

or

  sudo pamac install tk

Windows操作系统使用pip安装tk

安装tkinter后,重新启动Pycharm并运行代码,它将工作

如果你使用Arch Linux(发行版如Manjaro或Antegros),只需输入:

sudo pacman -S tk

一切都将完美地工作!

另一个选择是安装Anaconda。这是一个有用的软件,你可以创建许多环境,并且已经安装了许多用于数据科学和机器学习的库。

——编辑

这里有一些步骤可以帮助我解决你同样的问题:

第一步:在官方页面Anaconda下载。exe,使用个人版,因为它是免费的Anaconda个人版 步骤2:一旦你安装了程序,打开到env部分

在本节中,您可以根据自己的喜好创建多个env,例如,我有两个env,一个用于我的主基础(根),一个用于python的最后一个版本。

步骤3:在本节中创建py env, Anaconda将自动安装开发人员使用的主要库,降低代码出错的风险。 额外的考虑:正如你在下面的快照中看到的,你可以很容易地看到你在conda中安装了哪些库。我得到了你同样的错误,因为我错过了3个libs中的一个

希望是有用的和清楚的理解! 自保”

@xicocaio的评论应该突出显示。

tkinter is python version-specific in the sense that sudo apt-get install python3-tk will install tkinter exclusively for your default version of python. Suppose you have different python versions within various virtual environments, you will have to install tkinter for the desired python version used in that virtual environment. For example, sudo apt-get install python3.7-tk. Not doing this will still lead to No module named ' tkinter' errors, even after installing it for the global python version.