Sto cercando di mettere insieme diversi diagrammi in una specie di tabella. Penso che questo si chiami "stampa indice" , la gente della fotografia lo fa quando deve rivedere molte fotografie contemporaneamente. Comunque, questo è il codice:
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
Non funziona come mi aspetto. Ma affrontiamolo gradualmente. Innanzitutto, ecco un rendering di una singola tessera:
Ora, facciamo hcat
quattro tessere insieme.
Aggiungi una seconda riga: (Guarda come si addensano le caratteristiche invarianti della scala .)
Ed è così che appare con 4 righe:
Fuori portata!
Mi sembra che le caratteristiche invarianti della scala, come le punte delle frecce, siano ridimensionate in proporzione all'area dell'immagine. Ma in questo caso, ho bisogno di aumentare il mio diagramma senza ridimensionare quelle funzionalità. Come posso raggiungerlo?