我正在尝试使用以下主要功能创建一组图表:
main = mainWith [("here0", myDiagram), ("here1", myDiagram)]
并收到以下错误:
No diagram selected.
Available diagrams:
here0 here1
知道这个错误是什么意思吗?
更多细节:
我的“myDiagram”有类型:
myDiagram :: Diagram B
当 main 函数改为:
main = mainWith myDiagram
编辑:
感谢您的评论。我查看了链接的命令行教程并尝试尽可能地遵循它(包括指定 -s 选项),但仍然遇到同样的问题。这正是我所做的:
创建了一个文件“Animation.hs”:
{-# LANGUAGE NoMonomorphismRestriction #-}
import Diagrams.Prelude
import Diagrams.Backend.SVG.CmdLine
main = mainWith [("myBlue", myBlue), ("myGreen", myGreen)]
myBlue :: Diagram B
myBlue = circle 1 # lw none # fc blue
myGreen :: Diagram B
myGreen = circle 1 # lw none # fc green
通过以下方式编译它:
ghc --make Animation.hs
显示了要渲染的可用图表,其中:
./Animation --list
正如预期的那样,它返回了:
Available diagrams:
myBlue myGreen
但最后,尝试通过以下方式生成 .svg 之一:
./Animation -o out.svg -w 400 -s myBlue
回来:
No diagram selected.
Available diagrams:
myBlue myGreen
我觉得一定有一些我缺少但似乎找不到的简单的东西——我正在用“-s myBlue”指定一个列出的可用图表。