मैं एक तरह की तालिका में कई आरेखों को एक साथ रखने की कोशिश कर रहा हूं। मुझे लगता है कि इसे "इंडेक्स प्रिंट" कहा जाता है , फोटोग्राफी लोग करते हैं कि जब उन्हें एक साथ कई तस्वीरों की समीक्षा करनी होती है। वैसे भी, यह कोड है:
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
एक साथ चार टाइलें दें ।
एक दूसरी पंक्ति जोड़ें: (देखें कि कैसे पैमाने पर इनवेरिएंट सुविधाएँ मोटी हो जाती हैं।)
और यह 4 पंक्तियों के साथ कैसा दिखता है:
हाथ से बाहर!
यह मुझे लगता है कि पैमाने पर आक्रमणकारी विशेषताएं, जैसे कि तीर प्रमुख, चित्र के क्षेत्र के अनुपात में मापी जाती हैं । लेकिन इस मामले में, मुझे उन विशेषताओं को फिर से स्केल किए बिना अपना आरेख विकसित करने की आवश्यकता है। मैं उसे कैसे प्राप्त कर सकता हूं?