【发布时间】:2021-07-15 20:55:31
【问题描述】:
我希望使用 matplotlib 来绘制每月数据的年际变化(如下)。通过在plt.scatter() 中传递c=ds['time.year'],我达到了预期的结果。但是,我希望能够通过类似的plt.plot() 调用来连接这些点。这可能吗?
import pandas as pd
import matplotlib.pyplot as plt
import xarray as xr
# create y data
y = []
for yr in range(10):
for mo in range(12):
y.append(yr+mo+(yr*mo)**2)
# create datetime vector
t = pd.date_range(start='1/1/2010', periods=120, freq='M')
# combine in DataArray
ds = xr.DataArray(y, coords={'time':t}, dims=['time'])
# scatter plot with color
im = plt.scatter(ds['time.month'], ds.values, c=ds['time.year'])
plt.colorbar(im)
我尝试了以下方法,但它不起作用:
plt.plot(ds['time.month'], ds.values, c=ds['time.year'])
【问题讨论】:
标签: python pandas matplotlib python-xarray