问题标签 [haskell-diagrams]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
309 浏览

haskell - Haskell 图 SVG 被剪裁

快速入门diagrams告诉我编译并运行以下程序:

他们声称:

如果您现在在您最喜欢的网络浏览器中查看 circle.svg,您应该会看到 圆圈

然而,事实并非如此。我实际看到的是这样的:

麦田圈

注意图表的裁剪边缘。这是因为线条有宽度,但假设线条没有宽度,图像正在被裁剪。

这是 SVG 输出:

在定义图表的包络线时,我怎么知道diagrams要考虑线的宽度?

0 投票
2 回答
83 浏览

haskell - 如何结合 Haskell 图表包中的 `annularWedge` 和 `wedge`?

事实证明,annularWedge图表包的功能不能将半径设为 0 作为内半径。您必须wedge改用。

对我来说,0 的内半径只是退化的情况,annularWedge并且应该表现得像wedge,所以我尝试将它们组合起来:

当然,它不起作用,我无法弄清楚错误的含义:

事实上,事实证明,annularWedge并且wedge有不同的约束,这让我很惊讶:

那么如何将这两个函数组合成一个接受内半径为 0 并做正确事情的理智函数呢?

0 投票
1 回答
106 浏览

haskell - Haskell 图表错误:“未选择图表。”

我正在尝试使用以下主要功能创建一组图表:

并收到以下错误:

知道这个错误是什么意思吗?


更多细节:

我的“myDiagram”有类型:

当 main 函数改为:


编辑:

感谢您的评论。我查看了链接的命令行教程并尝试尽可能地遵循它(包括指定 -s 选项),但仍然遇到同样的问题。这正是我所做的:

创建了一个文件“Animation.hs”:

通过以下方式编译它:

显示了要渲染的可用图表,其中:

正如预期的那样,它返回了:

但最后,尝试通过以下方式生成 .svg 之一:

回来:

我觉得一定有一些我缺少但似乎找不到的简单的东西——我正在用“-s myBlue”指定一个列出的可用图表。

0 投票
1 回答
436 浏览

haskell - Haskell 图:为什么文本没有长度或宽度?

我想创建一个可以设置为具有特定宽度和高度的文本框。但是,我创建的文本框一开始似乎没有宽度和高度。例如以下代码:

生成一个空白图表(没有文本),并打印“0.0”作为文本框的宽度和高度:


为了让文本出现,我似乎需要将它放在其他东西之上。例如以下代码:

按预期在黑色背景中生成灰色文本。


为什么文本框没有大小?

如何将文本框的长度和宽度设置为某个值?

0 投票
1 回答
293 浏览

haskell - 如何在 Haskell Diagrams 中放置类似乳胶的数学公式(例如通过 mathjax)?

我试图将乳胶风格的数学公式放入haskell图中。

文档页面 http://projects.haskell.org/diagrams/doc/manual.html#essential-conceptshttp://projects.haskell.org/diagrams/doc/tutorials.html 建议人们可以使用名为 ' mathjax' 来实现这一点。

是否有关于如何实际编码的解释或示例?


尝试遵循这些链接上的文档,我最好的猜测是:

但这当然会产生错误:

0 投票
0 回答
144 浏览

haskell - Haskell 图裁剪图像

我希望能够在图表中绘制一堆形状并将图片裁剪为固定大小,将部分形状留在视图中(即不完全遮挡形状)

我似乎找不到办法做到这一点。我找到了边界框,但似乎它们只进行交叉/包含检查。

谢谢!

0 投票
0 回答
174 浏览

haskell - 你如何用图表制作一个自我参照的箭头?

我想做这样的事情:

但是,当然,我得到一个错误:“比例为零!Halp!”

我理解为什么这不适用于 的现有实现arrowBetween',因为它调用arrow',它通过端点之间的差异来缩放轴。但是,这应该是可能的。在图表中看到箭头循环回到它开始的位置并不少见。

0 投票
1 回答
46 浏览

haskell - 如何隐藏图表生成的 svg 文件的 DOCTYPE 声明?

我看到generateDoctype图表模块中存在:http ://projects.haskell.org/diagrams/haddock/diagrams-svg/Diagrams-Backend-SVG.html#v:generateDoctype

我该如何设置false?现在mathWith,按照文档中的建议,我正在生成我的 svg 文件,但我不确定在哪里放置任何关于generateDoctype.

0 投票
1 回答
76 浏览

haskell - 如何为多个图表使用相同的输出?

我还将以下内容作为diagrams-doc问题发布,但我认为在这里可能更合适。

用户手册是这样说的:

输出单元特别有用的一种情况是在准备文档(论文、博客文章等)时,其中包含多个不同物理尺寸的嵌入式图表。对每个图表的线宽(或箭头长度、箭头间距、字体大小等)使用相同的输出值可确保图表看起来一致。

这正是我想做的。我正在制作一个网页,其中包含多个diagrams内联生成的不同大小的 svg 文件,我希望线宽、箭头大小和圆半径保持一致。但我不确定如何。我如何将相同的输出值传递给所有箭头、箭头、圆圈等?当我最终用 渲染时renderPretty,我会sizeSVGOptions参数中设置什么,以便它只使 svg 的内容大小如何?

0 投票
1 回答
129 浏览

haskell - 使用 Haskell 图表生成器解析错误

我正在尝试将图表构建器包与 LaTeX 一起使用,以便在线生成图表。按照此处的教程,我有一个名为的文件test.tex,其内容如下:

我创建了一个名为并尝试编译的空目录diagrams,却被告知在看起来是由diagrams-builder-ps.

尝试直接运行diagrams-builder-psdiagrams-builder-cairo.hs文件上运行时,我也会收到此错误:

不幸的是,系统立即删除了带有解析错误的临时.hs文件,因此我无法检查该文件以查看究竟是什么导致了这个问题。

谢谢你的帮助!