我正在尝试使用DateListPlot
绘制时间序列图。我想提供一个从SQL数据库中获取的时间序列。当我检索时间序列时,列表由SQLDateTime
不理解的DateListPlot
个条目组成。
In[24]:= t=SQLExecute[conn, "select timestamp,value from timeseries order by timestamp asc"]
Out[24]={{SQLDateTime[{2010,1,1}],12.3},{SQLDateTime[{2010,1,2}],12.51}}
不起作用:
In[25]:= DateListPlot[t]
DateListPlot
需要Date元组,并且不理解SQLDateTime。我该怎么办?
答案 0 :(得分:7)
答案:
In[1]:= SQLDateTime[{2001, 5, 7}][[1]]
Out[1]:= {2001,5,7}
Mathematica在内部非常类似地思考所有事情。您看到的{1, 2, 3}
实际上是List[1,2,3]
。 Part函数(由[[...]]
表示)在任何函数上都可以正常工作,而不仅仅是List
。
在您的案例中应用此方法的快捷方式:
{#[[1,1]],#[[2]]}& /@ SQLExecute[...]