我正在尝试用DateListPlot绘制一幅时间序列图。我想给它提供一个从SQL数据库中获得的时间序列。当我检索时间序列时,该列表由DateListPlot不理解的SQLDateTime条目组成。
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。我能做什么?
发布于 2010-03-19 00:19:35
答案是:
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[...]https://stackoverflow.com/questions/2471250
复制相似问题