我想将以下程序的输出动画保存为mp4。该程序确实创建了一个 mp4 文件,但该文件是一个空白文件,它不包含我想要的动画。我在这里做错了什么?
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import matplotlib.animation as animation
plt.rcParams['animation.ffmpeg_path'] ='C:\\ffmpeg\\bin\\ffmpeg.exe'
fig=plt.figure()
ax=fig.add_subplot(111,projection="3d")
x=np.linspace(100,150,100)
t=(x-100)/0.5
y=-.01*np.cos(t)+.5*np.sin(t)+100.01
z=.01*np.sin(t)+.5*np.cos(t)+99.5
def animate(i):
line.set_data(x[:i],y[:i])
line.set_3d_properties(z[:i])
ax.set_xlim3d([min(x),max(x)])
ax.set_ylim3d([min(y),max(y)])
ax.set_zlim3d([min(z),max(z)])
ax.set_title("Particle in magnetic field")
ax.set_xlabel("X")
ax.set_xlabel("Y")
ax.set_xlabel("Z")
line,=ax.plot([],[],[])
lin_ani=animation.FuncAnimation(fig,animate)
plt.legend()
FFwriter = animation.FFMpegWriter()
lin_ani.save('animation.mp4', writer = FFwriter, fps=10)
# plt.show()
Run Code Online (Sandbox Code Playgroud) 我在我的研究所代理后面工作,不能使用纱线,它显示
yarn install v1.16.0
info No lockfile found.
[1/4] Resolving packages...
info There appears to be trouble with your network connection. Retrying...
Run Code Online (Sandbox Code Playgroud)
npm install 给我这个错误
network tunneling socket could not be established, statusCode=503
Run Code Online (Sandbox Code Playgroud)
纱线版本 1.16.0;节点版本 8.10.0;npm 版本 3.5.2;Ubuntu 18.04.02
到目前为止我做了什么:
在/etc/apt/apt.conf和设置代理/etc/environment
获取::http::proxy " http://username:password@proxy:port ";
获取::https::proxy " http://username:password@proxy:port ";
获取::ftp::proxy " http://username:password@proxy:port ";
设置代理 .bashrc
导出 http_proxy="http://username:password@proxy:port";
导出 https_proxy="http://username:password@proxy:port";
export HTTPS_PROXY="http://username:password@proxy:port"
export HTTP_PROXY="http://username:password@proxy:port"
yarn install --network-timeout 100000
yarn config set proxy http://username:password@host:port
yarn config set https-proxy http://username:password@host:port …
我刚安装了ubuntu 15.10,并试图安装一些应用程序.但我无法添加任何存储库-ppa.每次它都说"用户或团队不存在."
sudo add-apt-repository ppa:noobslab/nemo
Cannot add PPA: 'ppa:~noobslab/ubuntu/nemo'.
ERROR: '~noobslab' user or team does not exist.
Run Code Online (Sandbox Code Playgroud)
请提出修复此问题的建议.
编辑:我不是在谈论那个特定的ppa,每次对于任何ppa它都说同样的事情......
sudo apt-add-repository -y ppa:teejee2008/ppa
Cannot add PPA: 'ppa:~teejee2008/ubuntu/ppa'.
ERROR: '~teejee2008' user or team does not exist
Run Code Online (Sandbox Code Playgroud)
要么
sudo add-apt-repository ppa:noobslab/themes
Cannot add PPA: 'ppa:~noobslab/ubuntu/themes'.
ERROR: '~noobslab' user or team does not exist.
Run Code Online (Sandbox Code Playgroud)
.
我正在从具有 8 个精度的数据文件中读取数据,然后在插入一些值之后,我将它们保存起来,就像 float_format 选项不起作用的地方一样,
df.to_csv('data.dat',sep=' ', index=False, header=False, float_format="%.8f")
Run Code Online (Sandbox Code Playgroud)
结果文件看起来像
0.02506602 0.05754493 0.36854688
0.02461631 0.0599653 0.43078098
0.02502534 0.06209149 0.44955311
0.4267356675182389 0.1718682822340447 0.5391386354945895
0.426701667727433 0.17191008887193007 0.5391897818631616
0.4266676661681287 0.17195189807522643 0.5392409104354972
Run Code Online (Sandbox Code Playgroud)
前 3 行在数据文件中,接下来的 3 行是新的内插值。我希望所有值的长度相同。这里出了什么问题,我该如何解决?
另外:如果我可以为不同的列以不同的方式控制浮点精度,那就太好了。
这是我的目录结构,
??? test
? ??? test.f90
? ??? __init__.py
? ??? test.py
Run Code Online (Sandbox Code Playgroud)
现在我想用命令行工具制作一个包test。现在我有两个选择,1. numpy distutils 和 2. setuptools。
问题distutils在于它不支持入口点,现在也不推荐使用。但它确实完美地编译了 fortran 代码。现在对于 setuptools 我正在尝试使用此代码,
mod = Extension(name = 'foo.adt', sources = ['test/test.f90'])
setup(
name = 'foo',
packages = ['foo'],
package_dir = {'foo':'test'},
ext_modules = [mod],
entry_points={
'console_scripts': [
'hello = foo.test:main',
],
}
)
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用它,则会抛出此错误
error: unknown file type '.f90' (from 'test/test.f90')
Run Code Online (Sandbox Code Playgroud)
所以,我猜 setuptools 不支持 fortran 文件?那么,如何编译 fortran 代码、创建包并为其创建入口点?
所以,我正在用电子构建和打包一个软件。现在我已经制作了软件并获得了一个.deb文件(在 Ubuntu 中),我想将其上传到我的 launchpad ppa,以便每个人都可以轻松安装/更新它。问题是,ppa 不.deb直接接受文件,我不知道如何打包应用程序以便将其上传到 ppa。与此相关的问题很少,但没有一个有完整的指南。那么,我该怎么做呢?
我正在使用
@Bryan Oakley在此处在tkinter 中的两帧之间切换的答案中发布的代码。现在我想添加一些菜单栏。在 Pageone 中,我想添加菜单File,Help 而在 Pagetwo 中,我想添加菜单Data,plot
但我无法完成。
我可以将菜单添加到主窗口。但是随后它可用于所有页面,并且在我更改页面时不会消失。我不想要那个。我想添加特定于该页面的菜单栏。我怎样才能做到这一点
编辑
实际上我想做的是,我正在制作一个 GUI,您可以在其中进行数学积分和矩阵计算等。因此,在打开 GUI 时,会出现带有积分、矩阵等按钮的窗口。单击这些按钮将打开一个窗口,您可以在其中进行相应的计算。我使用Toplevel()打开一个新窗口的命令来完成它,我只是隐藏了以前的。但我喜欢 Bryan 在该链接中发布的 GUI 代码,所以我询问了向单个页面添加菜单的问题。
在 Bryan 的代码中,我刚刚添加了这些行 `class SampleApp(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
menu=tk.Menu(self)
self.config(menu=menu)
subMenu=tk.Menu(menu)
menu.add_cascade(label="File",menu=subMenu)`
Run Code Online (Sandbox Code Playgroud)
但正如我所说,它将菜单附加到主窗口。但我想要不同页面的不同菜单。
所以,我正在使用电子构建软件。现在我可以从模板在软件中添加菜单
var menu = Menu.buildFromTemplate([
{
label: 'Menu',
submenu: [
{label:'open'},
{label:'save'},
{label:'Exit'}
]
}
])
Menu.setApplicationMenu(menu);
Run Code Online (Sandbox Code Playgroud)
但是如何修改单个菜单项。例如,save默认情况下禁用菜单并在open单击后激活。也说点击后出现open一个新菜单edit。我可以完整地创建完整的新模板,只需使用新模板更改以前的模板。但这是一种糟糕的方法,当我使用带有多个子菜单的多个菜单时,这不是一个实用的解决方案。那么我可以只修改我选择的一个菜单项吗?
好吧,我正在制作一些情节,并希望以粗体字体制作所有内容.我可以weight="bold"用来制作标签的粗体字体.也可以使用prop={'weight':'bold'}使图例线条粗体,但我不能使图例标题粗体.那么,第一个问题是有一种方法可以使传奇标题变得大胆吗?
2,我尝试使用matplotlib乳胶支持使标题变粗,这样做但是如果我使用rc('text', usetex=True)我不能使用weight=bold并且必须\textbf{}每次都使用,那么我如何以这种方式使刻度变粗.
3,如果我使用乳胶支持,那么我不喜欢的字体改变.如何使用普通的matplotlib字体使用乳胶?
我正在尝试使用 ffmpeg 从 python 录制网络摄像头视频。从 cmd 运行时,以下 ffmpeg 可以正常工作
ffmpeg -f dshow -rtbufsize 2000M -i video="HP HD Camera":audio="Headset (realme Buds Wireless 2 Neo Hands-Free AG Audio)" -y -vcodec libx264 -crf 24 output.mp4
Run Code Online (Sandbox Code Playgroud)
我已经检查了音频和视频输入
ffmpeg -list_devices true -f dshow -i dummy
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试使用子进程调用命令时,会发生问题。我可以像这样传递整个命令
ffmpeg -f dshow -rtbufsize 2000M -i video="HP HD Camera":audio="Headset (realme Buds Wireless 2 Neo Hands-Free AG Audio)" -y -vcodec libx264 -crf 24 output.mp4
Run Code Online (Sandbox Code Playgroud)
现在,由于这是运行的,因此shell=True不会终止录制,并且我已经检查了不同的解决方案,但它们也不起作用。所以,我选择了shell=False。我尝试过
recorder = subprocess.Popen(['ffmpeg', '-f', 'dshow', '-rtbufsize', '2000M', '-t', '60', '-i', 'video="HP …Run Code Online (Sandbox Code Playgroud) 我正在将旧的 Fortran 代码库转换/重写为现代代码库。代码库的其中一段使用 Fourn 子程序(来自 Numerical receipies book)用于 FFT 目的。但是当我试图用 FFTW 库做那件事时,它不会产生相同的结果。我在这里很困惑。您可以在此处找到输入数据的代码: https //github.com/Koushikphy/fft_test/tree/master/notworking
使用的代码fourn:
program test
implicit none
integer, parameter :: n=65536
complex(kind=8) ::inp(n) = 0.0d0
real(kind=8) :: sn, urt(2*n)
integer :: i, ii
sn = 1.0d0/sqrt(real(n,kind=8))
do i=1,9070
read(75,'(i4, 2f20.16)') ii, inp(i)
enddo
do i=1,n
urt(2*i-1)= real(inp(i))
urt(2*i) = aimag(inp(i))
enddo
! forward
call fourn(urt,[n],1,1)
do i=1,n
write(201,'(i4, 2f20.16)')i, urt(2*i-1), urt(2*i)
enddo
end program test
SUBROUTINE FOURN(DATA,NN,NDIM,ISIGN)
INTEGER ISIGN,NDIM,NN(NDIM)
! C REAL DATA(*)
DOUBLE PRECISION DATA(*) …Run Code Online (Sandbox Code Playgroud)