是否可以使用Haskell绘制简单的图形? 你们中的任何人都可以告诉我该怎么做吗?
图表应至少包含3个点
答案 0 :(得分:2)
haskell-chart似乎很好。
wiki包含使用该包绘制的图表列表。
答案 1 :(得分:0)
除了 Chart 之外,还有一些非常好的与语言无关的绘图库/系统,可以从 Haskell 使用。我使用 Vega,但还没有真正尝试过其他替代方案。
您可以将 Vega-Lite 与 Haskell 包 hvega 一起使用,它会为您提供一个带有使用 vega-lite js 库绘制的图表的 html 文件。
基本用法:
import Graphics.Vega.VegaLite
main = do
toHtmlFile "myplot.html" $ toVegaLite
[ dataFromUrl "rows.tsv" [TSV]
, mark Bar [MTooltip TTEncoding]
, enc []
, height 600
, width 400
]
where enc = encoding
. position X [ PName "date"
, PmType Ordinal
]
. position Y [ PName "joy"
, PmType Quantitative
]
. color [MName "activity", MmType Nominal]
(然后将 tsv 和 html 文件放在 Web 服务器提供的目录中,例如该目录中的 $ python -m SimpleHTTPServer
。)此示例给出了一个三列的堆积条形图(假设 rows.tsv
具有代码中使用的列名):
文档中有很多例子:https://hackage.haskell.org/package/hvega/docs/Graphics-Vega-Tutorials-VegaLite.html
Plotly(最初用于 R)可从 Haskell 使用包 plotlyhs。您会得到一个带有交互式绘图的独立 html 页面。
示例用法:https://glutamate.github.io/plotlyhs/
有多种软件包可以创建可用于制作 png 等的 gnuplot 脚本:https://hackage.haskell.org/packages/search?terms=gnuplot