Pra*_*ika 10 plot haskell graph
是否可以使用 Haskell 绘制一个简单的图表?你们中的任何人都可以告诉我该怎么做吗?
该图应至少包含 3 个点
除了 Chart 之外,Haskell 还提供一些非常好的与语言无关的绘图库/系统。我自己使用 Vega 和 matplotlib。
您可以将Vega-Lite与 Haskell 包hvega一起使用,它为您提供一个 html 文件,其中包含使用 vega-lite js 库绘制的图表。
基本用法:
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]
Run Code Online (Sandbox Code Playgroud)
(然后将 tsv 和 html 文件放入 Web 服务器提供的目录中,例如$ python -m SimpleHTTPServer该目录中。)此示例给出了三列的堆叠条形图(假设rows.tsv代码中使用了列名称):
该文档有很多示例:https://hackage.haskell.org/package/hvega/docs/Graphics-Vega-Tutorials-VegaLite.html
如果您可以接受安装一些 Python 依赖项,那么matplotlib可以轻松地进行交互式绘图和探索。
简单的例子:
onscreen $ let b = bar [21..23] in
b [56,57,56] @@ [o2 "color" "#4C78A8"]
% b [26,24,25] @@ [o2 "color" "#F58518"]
% b [16,15,14] @@ [o2 "color" "#E45756"]
Run Code Online (Sandbox Code Playgroud)
有关更多示例,请参阅自述文件。
Plotly(最初用于 R)可以从 Haskell 中通过包plotlyhs使用。您会得到一个带有交互式绘图的独立 html 页面。
用法示例: https: //glutamate.github.io/plotlyhs/
有各种创建 gnuplot 脚本的包,可用于制作 png 等:https://hackage.haskell.org/packages/search?terms=gnuplot