5

我正在尝试用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需要一个日期元组并且不理解 SQLDateTime。我能做些什么?

4

1 回答 1

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[...]
于 2010-03-18T16:19:34.910 回答