小编thr*_*434的帖子

保存Matplotlib动画

我正在尝试制作wave包的动画并将其另存为电影.除了储蓄之外的一切都在起作用.你能告诉我我做错了什么吗?进入生产线时,ani.save('MovWave.mp4')他告诉我:

    writer = writers.list()[0]
IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud)

我当然试着谷歌搜索,但我甚至不知道这意味着什么.

更新:ffmpeg现在可以在控制台中调用.它说我安装了ffmpeg版本0.10.7-6:0.10.7-0jon1~precise.我更新了代码并运行了程序,但现在我收到以下错误:

Traceback (most recent call last):
  ani.save('MovWave.mpeg', writer="ffmpeg")
  writer.grab_frame()
  dpi=self.dpi)
  self.canvas.print_figure(*args, **kwargs)
  self.figure.dpi = origDPI
  self.dpi_scale_trans.clear().scale(dpi, dpi)
  self._mtx = np.identity(3)
  from numpy import eye
  File "<frozen importlib._bootstrap>", line 1609, in _handle_fromlist
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
Run Code Online (Sandbox Code Playgroud)

更新2:显然,当使用python 3.3作为doctorlove指出时有一个错误.我现在正在尝试使用python 2.7.现在它创建了一个mpeg文件,但它无法播放,只有大约150 kB.

更新3:好的,所以我在Win7机器上尝试了完全相同的代码,它也适用于python 3.3.但我有同样的问题,我之前使用的是python 2.7.创建的mpeg文件无法播放,只有几百kB.

#! coding=utf-8
import numpy as np
import matplotlib.pyplot as …
Run Code Online (Sandbox Code Playgroud)

python animation matplotlib

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

Matplotlib动画

你能帮我解决一下这个问题吗?我不知道出了什么问题.来自的单个绘图img可以很好地绘制,但动画模块会给出错误.Traceback说:

Traceback (most recent call last):
  File "/home/ckropla/workspace/TAMM/Sandkasten.py", line 33, in <module>
    ani = animation.ArtistAnimation(fig, img, interval=20, blit=True,repeat_delay=0)
  File "/home/ckropla/.pythonbrew/pythons/Python-3.3.1/lib/python3.3/site-packages/matplotlib/animation.py", line 818, in __init__
    TimedAnimation.__init__(self, fig, *args, **kwargs)
  File "/home/ckropla/.pythonbrew/pythons/Python-3.3.1/lib/python3.3/site-packages/matplotlib/animation.py", line 762, in __init__
    *args, **kwargs)
  File "/home/ckropla/.pythonbrew/pythons/Python-3.3.1/lib/python3.3/site-packages/matplotlib/animation.py", line 481, in __init__
    self._init_draw()
  File "/home/ckropla/.pythonbrew/pythons/Python-3.3.1/lib/python3.3/site-packages/matplotlib/animation.py", line 824, in _init_draw
    for artist in f:
TypeError: 'AxesImage' object is not iterable
Run Code Online (Sandbox Code Playgroud)

码:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

def FUNCTION(p,r,t):
    k_0,dx,c = p
    x,y …
Run Code Online (Sandbox Code Playgroud)

python animation matplotlib

8
推荐指数
1
解决办法
7579
查看次数

将CX_Freeze与Scipy一起使用:scipy.special._ufuncs.py

我在冻结我的程序时遇到问题.我把它缩小到了scipy模块.我试图冻结的porgramm是:

from scipy import signal
signal.hann(1000)
Run Code Online (Sandbox Code Playgroud)

我的设置脚本是:

import sys
from cx_Freeze import setup, Executable

build_exe_options = {}

base = None
if sys.platform == "win32":
    base = "Win32GUI"

setup(  name = "Some name",
        version = "1.0",
        author="My name",
        description = "My GUI application!",
        options = {"build_exe": build_exe_options},
        executables = [Executable("Script_Name.py", base=base)])
                                    # ^CHANGE THIS NAME!!!
Run Code Online (Sandbox Code Playgroud)

这是错误消息图片.我也尝试在设置文件中包含scipy.signal

build_exe_options = {"includes":"scipy.signal"}
Run Code Online (Sandbox Code Playgroud)

但它没有任何好处.请帮我.

python scipy cx-freeze

6
推荐指数
1
解决办法
2848
查看次数

Python 3:从类中调用函数,self

我正在尝试学习类,有人可以向我解释为什么这段代码不起作用.我想当从类中调用函数时,"self"会被自动省略,但是解释器告诉我参数"a"缺失(他认为self = 10).

#! coding=utf-8
class test:
    def __init__(self):
        "do something here"
    def do(self,a):
        return a**2

d = test.do
print(d(10))
Run Code Online (Sandbox Code Playgroud)

python class python-3.x

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

Python Matplotlib FuncAnimation只绘制一帧

地球人!
我正在尝试使用该FuncAnimation模块进行动画,但我的代码只生成一个帧然后停止.似乎它没有意识到他需要更新什么.你能帮我解决问题吗?

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

x = np.linspace(0,2*np.pi,100)

def animate(i):
    PLOT.set_data(x[i], np.sin(x[i]))
    print("test")
    return PLOT,

fig = plt.figure()  
sub = fig.add_subplot(111, xlim=(x[0], x[-1]), ylim=(-1, 1))
PLOT, = sub.plot([],[])

animation.FuncAnimation(fig, animate, frames=len(x), interval=10, blit=True)
plt.show()
Run Code Online (Sandbox Code Playgroud)

python animation matplotlib

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

展开/折叠ttk Treeview分支

我想知道在ttk.Treeview中折叠和扩展分支的命令.

这是一个简约的示例代码:

#! coding=utf-8
import tkinter as tk
from tkinter import ttk

root = tk.Tk()
tree = ttk.Treeview(root)
tree.pack(fill=tk.BOTH,expand=True)

tree.insert("", index="end",iid="Main", text="main branch")
tree.insert("Main", index="end", text="Stuff 1")
tree.insert("Main", index="end", text="Stuff 2")

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

什么命令打开和/或扩展"主分支"?必须有一个,因为在点击加号和减号时会调用它们.

python tkinter ttk

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

寻找一种更优雅的方法来获得圆柱坐标中的2D numpy方位角数组

标题说明了一切.我正在寻找一种方法来编写2D阵列中方位角的计算更优雅.这与以下事实有关:arcus函数仅定义在从0到pi或-pi/2到pi/2的范围内.有任何想法吗?

import numpy as np
import matplotlib.pyplot as plt

#Setup
x = np.linspace(-10, 10, 200)
y = np.linspace(-10, 10, 200)
x, y = np.meshgrid(x, y)
r = (x**2+y**2)**0.5

#get array of azimuthal angles
phi = np.arctan(y/x)
phi = np.where(np.less_equal(x, 0), phi+np.pi, phi)
phi = np.where(np.logical_and(np.greater_equal(x, 0), np.less_equal(y, 0)), phi+2*np.pi, phi)

#Test the calculation
# make a pizza with one slice missing
z = np.where(np.logical_and(np.less_equal(r, 5), np.less_equal(phi, 2*np.pi*(1-1/12)), np.less_equal(0, phi)), 1, 0)

#plot it
plt.imshow(z, extent=[-10, 10, -10, 10], origin="Upper")
plt.colorbar() …
Run Code Online (Sandbox Code Playgroud)

python math numpy

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

理解Python类

我想学习python类,但我不明白.为什么这个简单的例子不返回"6"?它返回了<function TEST.f at 0x00000000029ED378>.我也尝试了,TEST.f()但他告诉我,这个论点self不见了.self不仅应该存在于类中,而python会自动填充它吗?

#! coding=utf-8

class TEST:
    def __init__(self):
        self.x = 6
    def f(self):
        return(self.x)

print(TEST.f)
Run Code Online (Sandbox Code Playgroud)

python class

0
推荐指数
1
解决办法
641
查看次数

标签 统计

python ×8

animation ×3

matplotlib ×3

class ×2

cx-freeze ×1

math ×1

numpy ×1

python-3.x ×1

scipy ×1

tkinter ×1

ttk ×1