9

我正在尝试将几个图表放在一张表格中。我认为这被称为“索引打印”,摄影人在必须同时查看许多照片时会这样做。无论如何,这是代码:

main :: IO ()
main = mainWith @(Diagram B)
     $ (tile . fmap renderOne) examples

renderOne :: AnyGraph -> Diagram B
renderOne (AnyGraph gr) = ...

tile :: [Diagram B] -> Diagram B
tile xs = let columns = (ceiling . sqrt . fromIntegral . length) xs
          in (vcat . fmap hcat . List.chunksOf columns) xs

它不像我预期的那样工作。但让我们逐渐接近它。首先,这里是单个图块的渲染:

一

现在,让我们把hcat四块瓷砖放在一起。

猫

添加第二行:(查看尺度不变特征如何变厚。)

瓷砖2

这就是 4 行的样子:

瓦

不可收拾!

在我看来,比例不变的特征,比如箭头,是与图片的面积成比例的。但在这种情况下,我需要在不重新缩放这些功能的情况下扩展我的图表。我怎样才能做到这一点?

4

1 回答 1

5

关于测量单位的用户手册部分是您想要查看的内容。默认情况下,箭头之类的东西以“标准化”单位测量,这些单位被缩放,以便它们始终是整个图片大小的恒定比例。如果我正确理解您的用例,我认为您可能想要使用本地单位。使用您正在使用的任何箭头功能的primed变体,并给它一个选项记录,例如

(with & headLength .~ local 0.1)

但是无论数字如何,您的照片都可以看起来像您想要的那样。有关箭头选项的更多信息,请参阅箭头教程

于 2019-10-29T00:47:01.153 回答