小编car*_*rla的帖子

matplotlib.animation错误 - 系统找不到指定的文件

当试图在python中运行一个简单的动画示例代码时,我收到一个我无法解决的错误.

Traceback (most recent call last):
File "D:/CG/dynamic_image2.py", line 29, in <module>
    ani.save('dynamic_images.mp4')
File "C:\Python27\lib\site-packages\matplotlib\animation.py", line 127, in save
    self._make_movie(filename, fps, codec, frame_prefix)
File "C:\Python27\lib\site-packages\matplotlib\animation.py", line 164, in _make_movie
    stdout=PIPE, stderr=PIPE)
File "C:\Python27\lib\subprocess.py", line 679, in __init__
    errread, errwrite)
File "C:\Python27\lib\subprocess.py", line 893, in _execute_child
    startupinfo)
WindowsError: [Error 2] The system cannot find the file specified
Run Code Online (Sandbox Code Playgroud)

我发现了类似的情况(link1,link2),但我仍然不知道如何解决我的...

我正在使用:Python 2.7.2 | EPD 7.2-2(32位)| (默认情况下,2011年9月14日,11:02:05)[winv上的MSC v.1500 32位(英特尔)]

我希望有人可以帮助我!

python animation matplotlib

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

为什么 Fortran DO 循环索引大于循环后的上限?

我正在查看用 Fortran 编写的空气质量模型的代码,并且对 fortran 从 do 循环中传递变量的方式有一些疑问。

这个非常简单的例子说明了我的意思:

   PROGRAM carla
   IMPLICIT NONE
   !
   INTEGER, PARAMETER :: LM = 24, DEZASSEIS = 16
   INTEGER            :: L, VARIAVEL, SOMA
   !
   DO L=1,LM
   WRITE(*,*) 'L = ', L
   END DO
   !
   WRITE(*,*) 'I am now ouside of the DO loop.'
   WRITE(*,*) 'I would expect L=LM=24... And SOMA=40'
   WRITE(*,*) 'L = ', L
   SOMA = DEZASSEIS + L
   WRITE(*,*) 'SOMA = ', SOMA
   END PROGRAM carla
Run Code Online (Sandbox Code Playgroud)

我希望 L=LM=24... 而 SOMA=40... 但我得到:

   L =           25 …
Run Code Online (Sandbox Code Playgroud)

fortran loops

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

设置用于使用matplotlib contourf绘制的数组蒙版值的颜色

当我使用matplotlib绘制具有蒙版值的数组时countourf,蒙版值显示为白色.我希望它们显得灰色.

我尝试了这个set_bad方法,但它似乎countourf无法识别它(虽然它识别set_overset_under方法).

我还可以使用其他方法contourf吗?

或将我不得不改变我的代码使用imshow,其理解set_bad的相反,countourf

python matplotlib contour

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

设置matplotlib颜色条范围(范围大于绘制的值)

我想绘制一些数据(0到18之间),但我希望颜色条显示0到40之间的范围.经过几个在线示例,我不知道如何实现我需要的!

这是一个简单的例子:

import matplotlib.pyplot as plt
import numpy as np

rd = np.random.rand(40,100) # random samples from a uniform distribution over [0, 1]
surface = 18 * rd           # maximum value will be 18

fig = plt.figure()
ax = fig.add_subplot(111)
cores = ax.contourf(surface[:], vmin=0, vmax=40)

cbar = plt.colorbar(cores)
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

cbar = plt.colorbar(cores, extend='both', extendrect=True)
cbar.set_clim(0, 40.)
Run Code Online (Sandbox Code Playgroud)

但我一直得到相同的图像,颜色条从0到20!我知道我可以使用这种set_over方法,但我不想得到一种颜色...我希望我的整个颜色范围(定义cores为0到40)出现!

在此输入图像描述

谢谢你的帮助!

python matplotlib colorbar

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

cartopy + networkx:zorder无法正常工作

我需要使用生成地图cartopy并在其上绘制一些数据(使用networkx)。我能够做到,但是networkx物体在地图后面。我正在尝试强制使用图层的顺序,zorder但是...不起作用:(

我唯一的想法是为cartopy几何图形添加一些透明度,但看起来一点也不好...(在此示例中,它看起来并不那么糟糕,但是从我的整个数据来看,它看起来很糟糕)

关于如何强制执行命令的任何想法?

这是我的代码:

import cartopy.crs as ccrs
from cartopy.io import shapereader as shpreader
import matplotlib.pyplot as plt
import networkx as nx

paises = ['Portugal', 'France', 'Canada', 'Brazil', 'Kazakhstan']
cidades = ['Aveiro', 'Ust-Kamenogorsk', 'Manaus']
links = [('Aveiro', 'Ust-Kamenogorsk'), 
         ('Manaus', 'Ust-Kamenogorsk'),
         ('Aveiro', 'Manaus')]
position = {'Aveiro': (-8.65, 40.6),
            'Manaus': (-60.0, -3.1),
            'Ust-Kamenogorsk': (82.6, 49.97)}

# map using cartopy:
shapename = 'admin_0_countries'
countries_shp = shpreader.natural_earth(resolution='110m',
                                    category='cultural', name=shapename)

ax = plt.axes(projection=ccrs.PlateCarree(central_longitude=0.0, globe=None))
ax.set_global() …
Run Code Online (Sandbox Code Playgroud)

python matplotlib z-order networkx cartopy

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