Wolfram 语言

时间序列处理

可视化季节性规律

比较一个中西部地点和一个西南部地点的季节性降水.

WeatherData 提供了以厘米为单位的综合降水量.

In[1]:=
Click for copyable input
start = {1999, 1, 1}; end = {2015, 12, 31};
In[2]:=
Click for copyable input
getData[place_] := WeatherData[place, "TotalPrecipitation", {start, end, "Month"}]

创建伊利诺伊州香槟市和亚利桑那州凤凰城的 TimeSeries. 指定 MissingDataMethod 用插值方法来填补遗漏的数据.

In[3]:=
Click for copyable input
makeTS[place_] := TimeSeries[getData[place], MissingDataMethod -> "Interpolation"]
In[4]:=
Click for copyable input
tsIL = makeTS[ Entity["City", {"Champaign", "Illinois", "UnitedStates"}]]
Out[4]=
In[5]:=
Click for copyable input
tsAZ = makeTS[Entity["City", {"Phoenix", "Arizona", "UnitedStates"}]]
Out[5]=

以降水量为权重创建 WeightedData,并通过在总年数上对数据作平均来绘制 DateHistogram.

In[6]:=
Click for copyable input
dataIL = WeightedData[tsIL["Dates"], tsIL["Values"]]; dataAZ = WeightedData[tsAZ["Dates"], tsAZ["Values"]];
In[7]:=
Click for copyable input
totalyears = (end[[1]] - start[[1]] + 1);
In[8]:=
Click for copyable input
avg := Function[{x, y}, y/totalyears]
In[9]:=
Click for copyable input
makeHistogram[data_, lab_] := DateHistogram[data, "Month", avg, DateReduction -> "Year", PlotRange -> {All, {-1, 9}}, AxesLabel -> "cm", PlotLabel -> lab]
In[10]:=
Click for copyable input
{makeHistogram[dataIL, "IL"], makeHistogram[dataAZ, "AZ"]}
Out[10]=

相关范例

de en es fr ja ko pt-br ru