2012-01-26 9 views
27

MATLAB、scilab、matplotlibに似た描画プロット用のHaskellライブラリはありますか?ウィンドウにプロットを表示するために、ディスクに書き込むための能力を持っていいだろうMATLABに似たHaskellプロットライブラリ

plot(xs, ys) 
show() -- opens window with plot 

:彼らはすべてのステート・マシンのように動作し、非常に簡単なインターフェースを持っています。

+2

私はあなたの質問を編集し、「matplotlibの」と「numpyのを」置き換え:これらの手順では、あなたの作業例を取得する必要があります私が間違っている場合はそれを修正してください。 – Chris

答えて

12

gnuplot?例えば

Graphics.Gnuplot.SimpleからplotList

plotList [] [(1, 1), (2, 2), (3, 3)] 
+3

'gnuplot'は良いですが、私はそのインターフェースを単純なものと呼んでいません。 –

+1

私は外部のアプリケーションでdepentしたくない。とにかくありがとう。 – Trismegistos

+1

私はそれが実際にはこれより良いことは何もないことを知っています。ありがとう。 – Trismegistos

9

matplotlibのを一瞥から、私はHaskellのエコシステムは、機能豊富なとして何かを持っているとは思いません。しかし、私はChartライブラリの結果に満足しています。 graphviz(いくつかのうちの1つをリンクする)とUbigraphへのバインドもあります。

編集:(x、y)をプロットするための要求への対応座標:

私はあなたが望むものを完全には明らかではありませんよ。あなたがポイントの束を持っている場合は、[(x,y)]、その後、同じリストへのルックアップとコード、代わりの

import Graphics.Rendering.Chart.Simple 
main = plotWindow [0,0.1..5::Double] sin 

:あなたが機能f :: x -> yを持っている場合は、単にplotWindow(またはPNGなど)機能を使用sinのような連続した機能は正常に動作するはずです。多くの例がリンクされています。

+0

xsに対してysをプロットする非常に簡単な例を教えてください。ありがとう。 – Trismegistos

5

plotパッケージもあります。 plot-gtkグラフと一緒に使用すると、GHCi内で表示および変更できます。プロットは、カイロがサポートするフォーマットでディスクに書き込むことができます。

Simpleインターフェースはgnuplot年代に似ています

test_graph2 = do 
    plot (ts,[point (ds,es) (Cross,red),line fs blue]) 
    title "Testing plot package:" 
    subtitle "with 1 second of a 15Hz sine wave" 
    xlabel "time (s)" 
    ylabel "amplitude" 
    yrange Linear (-1.25) 1.25 
+0

それは有望に見えます、私はそれを試してみましょう。 – Trismegistos

1

はgnuplotのを試してみてください。クロスレングスで、規模が非常に速く、古いものであっても常に知っておくといいことです。私はあなたがmatplotlibのを意味することを前提としますが、お気軽に - numpyのは、グラフィックス/プロットライブラリーではないので、

cabal install gnuplot 
sudo apt-get install gnuplot-x11 

ghci 
GHCi, version 7.4.1: http://www.haskell.org/ghc/ :? for help 
Loading package ghc-prim ... linking ... done. 
Loading package integer-gmp ... linking ... done. 
Loading package base ... linking ... done. 
h> import Graphics.Gnuplot.Simple 
h> plotFunc [] (linearScale 1000 (-20,20)) (\x -> sin x/x) 
関連する問題