相关疑难解决方法(0)

为Python安装tkinter

我想导入Tkinter.但是,我收到一条错误,指出尚未安装Tkinter:

ImportError:没有名为_tkinter的模块,请安装python-tk包

我可以使用synaptic manager安装它(可以吗?),但是,我必须在我编程的每台机器上安装它.是否可以将Tkinter库添加到我的工作区并从那里引用它?

python linux install tkinter

246
推荐指数
13
解决办法
57万
查看次数

如何使用matplotlib在while循环中实时绘图?

我试图使用OpenCV实时绘制来自摄像机的一些数据.但是,实时绘图(使用matplotlib)似乎不起作用.

我把这个问题分成了这个简单的例子:

fig = plt.figure()
plt.axis([0, 1000, 0, 1])

i = 0
x = list()
y = list()

while i < 1000:
    temp_y = np.random.random()
    x.append(i)
    y.append(temp_y)
    plt.scatter(i, temp_y)
    i += 1
    plt.show()
Run Code Online (Sandbox Code Playgroud)

我希望这个例子可以单独绘制1000个点.实际发生的是窗口弹出第一个点显示(确定),然后在填充图表的其余部分之前等待循环完成.

有什么想法,为什么我没有看到一次填充一个点?

python real-time matplotlib while-loop

211
推荐指数
11
解决办法
44万
查看次数

"UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure." when plotting figure with pyplot on Pycharm

I am trying to plot a simple graph using pyplot, e.g.:

import matplotlib.pyplot as plt
plt.plot([1,2,3],[5,7,4])
plt.show()
Run Code Online (Sandbox Code Playgroud)

but the figure does not appear and I get the following message:

UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
Run Code Online (Sandbox Code Playgroud)

I saw in several places that one had to change the configuration of matplotlib using the following:

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
Run Code Online (Sandbox Code Playgroud)

I did this, but then got an error message because it …

python matplotlib pycharm

34
推荐指数
10
解决办法
2万
查看次数

PyCharm不会正确打开matplotlib图

我有一个PyCharm和matplotlib的问题,我似乎无法纠正.

当我使用PyCharm和ipython作为解释命令的控制台时,在我保存图形之前不会显示图形.但是,当我尝试从PyCharm外部绘图时,这不会发生.

这是一个在PyCharm 中失败的exmaple进程:

In[2]: import matplotlib.pyplot as plt
Backend MacOSX is interactive backend. Turning interactive mode on.

In[3]: plt.plot([1,2,3,4],[1,4,9,16], 'ro')
Run Code Online (Sandbox Code Playgroud)

打开一个标有"图1"标签的窗口.但是,没有绘图,鼠标悬停在它上面时切换到SPOD(我在Mac上).此时,我可以试试

In[4]: plt.show()
Run Code Online (Sandbox Code Playgroud)

但仍然没有出现情节.但是,如果我这样做:

In[5]: plt.savefig('foo.png')
Run Code Online (Sandbox Code Playgroud)

不仅用该名称保存图形,图形显示在图1窗口中.请注意,PyCharm已经设置了交互模式,并且已经识别出我的后端(应该是?)MacOS.

我在通用终端会话中通过python和ipython控制台使用相同的过程,甚至通过emacs,并且在所有情况下,情节都出现在调用plt.plot()线路上.无需plt.show()通话.

实际上,我甚至可以通过PyCharm使用终端并获得所需的情节.一个答案是我应该使用这些方法进行绘图并忽略PyCharm.然而,假设我发现PyCharm的"花里胡哨"足够吸引人,我真的想用它作为我的IDE,但希望能够检查情节而不必经历plt.savefig()麻烦(因为我没有我想要保持我尝试的每一个阴谋.

我也试过切换后端plt.switch_backend().我已经尝试了列出的所有选项,所有这些选项都失败的原因主要是没有安装某些软件包或者系统错误.我没有尝试安装任何东西来使用新的后端,所以我不知道是否有另一个正确安装的后端可以解决这个问题.当然,更愿意尝试!

系统细节:

MacBookPro Retina 2012年中期,16GB内存,优胜美地10.10

Python 3.4.2

ipython 2.3.1

PyCharm Community Edition 4.0.4

请注意,我已根据以下问题审核并尝试了各种修补程序:

Python图将无法打开

如何在matlab/python中切换后端

PyCharm + Matplotlib?

Matplotlib图被困(灰色窗口)

尽管我打电话给pyplot.show(),matplotlib也没有显示我的图画

编辑 如下面的评论中所述,这似乎是一个错误,而不是我的设置失败.因此,我正在修改这个问题,询问是否有已知的解决方法.

python plot matplotlib pycharm

24
推荐指数
1
解决办法
2万
查看次数

导入错误:无法加载需要“tk”交互框架的后端“TkAgg”,因为“headless”当前正在运行

当我使用google colaboratory时,我遇到了这个问题,我在stackoverflow上搜索过,但很少有人回答,有人能帮我弄清楚吗?谢谢!

我尝试通过多种方式重新安装 matplotlib,并安装 tk-dev,但它们都不起作用。

import matplotlib
import glob


**matplotlib.use('TKAgg')**


import matplotlib.image as mpimg

import matplotlib.pyplot as plt
import matplotlib.patches as patches
import matplotlib.ticker as ticker
Run Code Online (Sandbox Code Playgroud)

出现了一个像标题这样的导入错误:“导入错误:无法加载后端 'TkAgg' 这需要 'tk' 交互式框架,因为 'headless' 当前正在运行”

python matplotlib python-3.x google-colaboratory

22
推荐指数
4
解决办法
3万
查看次数

在Jupyter Notebook中%matplotlib内联后使用%matplotlib笔记本不起作用

我正在使用Jupyter Notebook绘制饼图数字.

在我的代码的第一个单元格中,我有一个魔术命令%matplotlib inline,在这个魔术命令后我运行我的代码,一切正常,我的图形呈现.

但在第二个单元格中,当我设置%matplotlib notebook交互式绘图时,我的图形在运行第二个单元格后将无法呈现.

我需要重新启动内核并%matplotlib notebook再次运行单元格,并且%matplotlib inline在此之前无法运行命令.

这里是我的代码,第一个单元格%matplotlib inline,这使得罚款:

import matplotlib.pyplot as plt

%matplotlib inline

labels = "No", "Yes"
sizes = [100, 50]

fig, ax = plt.subplots(figsize=(6, 6))

_, texts, autotexts = ax.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%',
             shadow=False, startangle=90)

ax.axis('equal')
Run Code Online (Sandbox Code Playgroud)

之后,我有第二个单元格具有相同的代码,只是%matplotlib inline改为%matplotlib notebook.在运行此单元格后,图形将不会呈现,我需要重新启动内核并再次运行此单元格.

为什么?

python matplotlib jupyter-notebook

19
推荐指数
2
解决办法
2万
查看次数

为什么 tkinter(或海龟)似乎丢失或损坏?它不应该是标准库的一部分吗?

当尝试使用 Tkinter 标准库包或其相关功能(海龟图形使用turtle和内置 IDLE IDE)或使用将此作为依赖项的第三方库(例如显示使用 Matplotlib 的图形窗口)。

似乎即使不存在因隐藏标准库模块名称而引起的问题(对于尝试遵循教程并使用海龟图形的初学者来说,这是一个常见问题 -示例 1示例 2示例 3示例 4),通常会发生标准库 Tkinter 无法工作的情况。这是一个大问题,因为许多初学者再次尝试遵循使用海龟图形的教程,并盲目地假设turtle标准库将会存在。

可能会报错:

当 Tkinter 被记录为标准库的一部分时,为什么会出现这样的问题?如何添加或修复缺少的标准库功能?对于特定的 …

python installation tkinter modulenotfounderror

19
推荐指数
1
解决办法
9813
查看次数

Matplotlib.Pyplot不显示输出; 没有错误

我的平台如下

Centos 6.x(在Win-7主机上运行的VirtualBox VM),Python 2.6.6,Matplotlib 1.3.1,Numpy 1.8.0,Scipy 0.14.0.dev-bb608ba

我正在运行以下histogram.py代码

#!/usr/bin/env python

import numpy as np
import matplotlib.pyplot as plt

mu, sigma = 0, 1 # mean and standard deviation
f = np.random.normal(mu, sigma, 1000) # generate feature-vector with normal distribution

# plot the histogram - check the distribution
count, bins, ignored = plt.hist(f, 30, normed=True)

plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) *
                np.exp( - (bins - mu)**2 / (2 * sigma**2) ),
        linewidth=2, color='r')
plt.xlabel('Values')
plt.ylabel('Probability')
plt.title('Histogram')
plt.text(60, .025, r'$\mu=0,\ …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib scipy

10
推荐指数
1
解决办法
3万
查看次数

用于闪亮的Python 3D表面图的Phong着色

我正在尝试使用镜面着色在Python中创建美学上令人愉悦的3D绘图,并且迄今为止尝试使用Matplotlib与3D轴和Mayavi的表面绘图,例如,来自Mayavi冲浪示例网页:

在此输入图像描述

结果看起来很好,在Mayavi中似乎有合理的照明控制,虽然我似乎无法实现"闪亮"的外观.

在Matlab中,这可以通过使用'Phong'照明来实现:

在此输入图像描述

请参阅http://www.mathworks.com/matlabcentral/fileexchange/35240-matlab-plot-gallery-change-lighting-to-phong/content/html/Lighting_Phong.html

因此,我的问题是:如何在基于Python的3D绘图中实现这种Phong风格的闪亮阴影?

python matlab matplotlib mayavi phong

10
推荐指数
2
解决办法
4725
查看次数

无法手动关闭matplotlib绘图窗口

我在Mac OS X Yosemite上运行Python v2.7和matplotlib v1.5.0.到目前为止,我能够在交互式解释器中运行我的脚本,显示一个情节,然后手动杀死窗口.例如

import numpy as np
x = np.arange(1,10)
y = np.arange(1,10)
plt.plot(x,y)
plt.show()
Run Code Online (Sandbox Code Playgroud)

这曾经很好.窗口将关闭,我将返回提示.但是,现在当我点击红色X关闭窗口时,窗口仍保持打开状态.我的命令提示符返回并正常工作,但窗口卡住了,我看到旋转的沙滩球在它上面.

在此输入图像描述

(请注意,光标不会出现在图像中,但是您可以看到红色X显示为灰色,因为我已经关闭但它被卡住了).

直到我第二次运行脚本第一个窗口关闭,然后我就陷入第二个打开的情节,同样的问题.我有点困惑,因为这只发生在最近.到目前为止,窗户将关闭.

这不是一个大问题,因为Python仍在运行,我仍然可以制作新的情节,但我很好奇为什么窗口会突然打开.有什么建议?

UPDATE

我通过切换交互式后端解决了这个问题.Qt4Agg或TkAgg作为交互式后端解决了这个问题.但问题仍然是为什么macosx和CocoaAgg后端显示了这种行为.

python matplotlib python-2.7

10
推荐指数
2
解决办法
4239
查看次数