小编ric*_*ron的帖子

使用非零 alpha 值时,底图中的 pcolormesh 上会出现奇怪的线条

当在底图投影(或 cartopy 投影)上使用 pcolormesh 绘制数据时,我注意到当我将 alpha 值设置为小于 1 时,会出现奇怪的线条。

示例代码:

from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt

plt.clf()

dpp =1 # degrees per pixel
lons = np.arange(-180,180+dpp,dpp)
lats = -1*np.arange(-90,90+dpp,dpp)

m = Basemap(projection='robin',lon_0=0)
data = np.random.random((np.size(lats), np.size(lons)))
lons, lats = np.meshgrid(lons, lats)
x, y = m(lons, lats)

im = m.pcolormesh(x, y, x, latlon=False, cmap='RdBu')
#im = m.pcolormesh(lons, lats, data, latlon=True, cmap='RdBu')

m.colorbar(im)
plt.show()
Run Code Online (Sandbox Code Playgroud)

输出显示出现奇怪的行:

在此输入图像描述

如果我设置 alpha=1,线条就会消失并且行为符合预期:

在此输入图像描述

关于如何让 pcolormesh 使用非零 alpha 值有什么想法吗?

python matplotlib matplotlib-basemap cartopy

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

shell脚本不使用nohup

我正在尝试使用nohup命令运行shell脚本.shell脚本接受一个文件数组,在循环中的每个文件上运行python程序,并将输出附加到文件.这在服务器上工作正常,但如果我尝试使用nohup命令它不起作用.我已经在这台服务器上使用nohup成功运行了其他程序,而不是这个脚本.

#!/bin/sh
ARRAY=(0010.dat 0020.dat 0030.dat)

rm batch_results.dat
touch batch0.dat
touch batch_results.dat

for file in ${ARRAY[@]}
do
python fof.py $file > /dev/null
python mdisk5.py > ./batch0.dat
tail -1 batch0.dat
tail -1 batch0.dat >> batch_results.dat
done
Run Code Online (Sandbox Code Playgroud)

例如,当我在保持连接到服务器的同时运行程序时,程序运行正常

./batch.sh > /dev/null &
./batch.sh > ./output.txt &
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用nohup命令运行它时,

nohup ./batch.sh > /dev/null &
Run Code Online (Sandbox Code Playgroud)

如果我退出服务器并返回输出文件(batch_results.dat)没有任何数据.

我确信我在这里缺少一些简单的修复或命令.有任何想法吗?

编辑:程序fof.py生成两个文件,用作mdisk5.py的输入.当我在运行nohup时退出服务器时,会生成这两个文件,但仅适用于第一个输入文件'0010.dat'.输出文件batch0.dat和batch_results.dat保持为空.

python unix shell csh

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

标签 统计

python ×2

cartopy ×1

csh ×1

matplotlib ×1

matplotlib-basemap ×1

shell ×1

unix ×1