2013-09-25 46 views
2

我試圖從數學切換到IJulia數據探索,我想知道是否有以下的Mathematica的一行模擬:IJulia圖一班輪

ListPlot[Import["/tmp/output.tsv"], Joined -> True] 

ListPlot

output.tsv是的(X,Y)對

選項卡劃定名單這裏是一個蹩腳的嘗試:

In [1]: using Gadfly; plot(readdlm("/tmp/output.tsv", '\t', Float64)) 

no method plot(Array{Float64,2},) 
at In[1]:1 

回答

3

Gadfly將接受數組,但您需要指定xy值。另外,你需要通過審美。

julia> a = [1 2 3; 4 5 6] 
2x3 Array{Int64,2}: 
1 2 3 
4 5 6 

julia> plot(a) 
ERROR: no method plot(Array{Int64,2}) 

julia> plot(x=a[1,:], y=a[2,:], Geom.line) 

下面是REPL(未IJulia)截圖:

repl screenshot

1

您可能必須將其讀入數據框(DataFrames.readtable),因爲這就是Gadfly的操作。其他繪圖軟件包(如Winston)使用原始數據,但由於無論如何您都在閱讀結構數據,DataFrames方法可能是最好的。

+0

好了,所以當我嘗試使用'牛虻,DataFrames; plot(readtable(「/ tmp/output.tsv」,separator ='\ t',header = false))'julia throws'ArgumentError(「空數組不允許。」)'。我應該把DataFrame從'readtable'分解爲'x'和'y'分量嗎?牛doc醫生稱這是一個*邪教*模式... –