将haskell点列表转换为可以使用splot调用的文件

时间:2014-08-04 22:34:37

标签: haskell gnuplot

所以我有一个包含3个元组的列表,其中包含一个点的x y z坐标。我想尝试用splot绘制图形。

如果我有一个名为data im的文件非常肯定

,那么命令就是这样的
splot "data" with lines

根据我的理解,文件需要包含哪些点,但是问题是我有它,似乎你需要从x值到最小到最大的顺序,这不是问题,但是其他两个组件似乎例如,你有3个点,你必须做那个最后两个坐标与x坐标的所有组合来得到一个表面?

我不确定这是不是这个想法。另外,如果是这种情况,写一个为一组特定x点执行此操作的函数对于递归来说似乎很棘手,

如果即使是在正确的方向,有人可以给我一些提示吗?

1 个答案:

答案 0 :(得分:2)

解决此问题的一种方法是使用easyplot,它也使用相同的gnuplot后端来生成图表。我发现它的API比gnuplot更简单实用。

以下代码绘制(x,y,z)坐标:

import Graphics.EasyPlot

option = Data3D [Style Lines] [] [(1,1,4),(2,2,3),(1,3,1),(1,4,5),(2,2,1),(2,2,4),(2,3,6)]

main = plot X11 option

它生成如下图:

haskell-graph

您可以添加更多样式以使其更漂亮。