我想导入Tkinter.但是,我收到一条错误,指出尚未安装Tkinter:
ImportError:没有名为_tkinter的模块,请安装python-tk包
我可以使用synaptic manager安装它(可以吗?),但是,我必须在我编程的每台机器上安装它.是否可以将Tkinter库添加到我的工作区并从那里引用它?
我试图使用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个点.实际发生的是窗口弹出第一个点显示(确定),然后在填充图表的其余部分之前等待循环完成.
有什么想法,为什么我没有看到一次填充一个点?
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 …
我有一个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
请注意,我已根据以下问题审核并尝试了各种修补程序:
尽管我打电话给pyplot.show(),matplotlib也没有显示我的图画
编辑 如下面的评论中所述,这似乎是一个错误,而不是我的设置失败.因此,我正在修改这个问题,询问是否有已知的解决方法.
当我使用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' 当前正在运行”
我正在使用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
.在运行此单元格后,图形将不会呈现,我需要重新启动内核并再次运行此单元格.
为什么?
当尝试使用 Tkinter 标准库包或其相关功能(海龟图形使用turtle
和内置 IDLE IDE)或使用将此作为依赖项的第三方库(例如显示使用 Matplotlib 的图形窗口)。
似乎即使不存在因隐藏标准库模块名称而引起的问题(对于尝试遵循教程并使用海龟图形的初学者来说,这是一个常见问题 -示例 1;示例 2;示例 3;示例 4),通常会发生标准库 Tkinter 无法工作的情况。这是一个大问题,因为许多初学者再次尝试遵循使用海龟图形的教程,并盲目地假设turtle
标准库将会存在。
可能会报错:
作为ModuleNotFoundError: No module named 'tkinter'
; 或ImportError
具有相同消息的 ;或使用不同的大小写(我知道名称从Tkinter
2.x 更改为tkinter
3.x;这是一个不同的问题)。
类似地,但引用内部_tkinter
模块,并显示带有注释的代码“如果失败,您的 Python 可能无法配置 Tk”;或者使用自定义错误消息“请安装 python-tk 包”或类似内容。
当尝试turtle
专门使用时,出现“没有名为turtle的模块” ,或者上述错误之一。
当尝试使用 Matplotlib 显示绘图时;通常,这种情况会在尝试更改后端后发生,默认设置是为了避免尝试使用 Tkinter。
当 Tkinter 被记录为标准库的一部分时,为什么会出现这样的问题?如何添加或修复缺少的标准库功能?对于特定的 …
我的平台如下
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中创建美学上令人愉悦的3D绘图,并且迄今为止尝试使用Matplotlib与3D轴和Mayavi的表面绘图,例如,来自Mayavi冲浪示例网页:
结果看起来很好,在Mayavi中似乎有合理的照明控制,虽然我似乎无法实现"闪亮"的外观.
在Matlab中,这可以通过使用'Phong'照明来实现:
因此,我的问题是:如何在基于Python的3D绘图中实现这种Phong风格的闪亮阴影?
我在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 ×10
matplotlib ×8
pycharm ×2
tkinter ×2
install ×1
installation ×1
linux ×1
matlab ×1
mayavi ×1
numpy ×1
phong ×1
plot ×1
python-2.7 ×1
python-3.x ×1
real-time ×1
scipy ×1
while-loop ×1