xarray的plot类和直接使用matplotlib.plot的比较2021-01-22

xarray.plot可以直接使用xarray.DataArray的各种属性,绘图简单方便,但是较慢

直接使用matplotlib.plot,设置麻烦,速度较快。

一个简单的对比例子

from xgrads import open_mfdataset
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import time

def test1(ds):
    a=ds.plot.line()
    plt.savefig('a.jpg')
    plt.close()

def test2(d2,t2):
    b=plt.plot(t2,d2)
    plt.ylabel('u')
    plt.title('lev 500')
    plt.savefig('b.jpg')
    plt.close()

url="/g5/lihq/DATABAK/GRAPES_REPS_new10km2/2020060200_rsl/run"
ensnum=15
fn=[]
for i in range(0,ensnum):
    fn.append(url+str(i).zfill(2))
dset = open_mfdataset(url+'00/post.ctl*')
ds0 = dset.u.sel(lev='500')
del dset
ds = ds0.mean(dim=['lat', 'lon'])
del ds0
ds2=ds.values
da2=ds.time.values

t1=time.time()
test1(ds)
t2=time.time()
test2(ds2,da2)
t3=time.time()

print("使用xarray的plot类耗时:",t2-t1)
print("使用matplotlib的plot类耗时:",t3-t2)

使用xarray的plot类耗时: 3.237011671066284
使用matplotlib的plot类耗时: 0.07491898536682129
a.jpg
b.jpg

你可能感兴趣的:(xarray的plot类和直接使用matplotlib.plot的比较2021-01-22)