पैमाने पर नियंत्रण को कैसे नियंत्रित करें?


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एक साथ चार टाइलें दें ।

hcat

एक दूसरी पंक्ति जोड़ें: (देखें कि कैसे पैमाने पर इनवेरिएंट सुविधाएँ मोटी हो जाती हैं।)

tile2

और यह 4 पंक्तियों के साथ कैसा दिखता है:

टाइल

हाथ से बाहर!

यह मुझे लगता है कि पैमाने पर आक्रमणकारी विशेषताएं, जैसे कि तीर प्रमुख, चित्र के क्षेत्र के अनुपात में मापी जाती हैं । लेकिन इस मामले में, मुझे उन विशेषताओं को फिर से स्केल किए बिना अपना आरेख विकसित करने की आवश्यकता है। मैं उसे कैसे प्राप्त कर सकता हूं?

जवाबों:


5

माप इकाइयों पर उपयोगकर्ता पुस्तिका अनुभाग क्या आप को देखने के लिए चाहते हैं। तीरहेड्स जैसी चीजें डिफ़ॉल्ट रूप से "सामान्यीकृत" इकाइयों में मापी जाती हैं, जिन्हें स्केल किया जाता है ताकि वे हमेशा पूरी तस्वीर के आकार का एक निरंतर अनुपात हो। यदि मैं आपके उपयोग के मामले को सही ढंग से समझता हूं, तो मुझे लगता है कि आप शायद इसके बजाय स्थानीय इकाइयों का उपयोग करना चाहते हैं। आप जो भी एरो फंक्शन उपयोग कर रहे हैं, उसके प्राइमेड वेरिएंट का उपयोग करें, और इसे एक विकल्प रिकॉर्ड दें जैसे कुछ

(with & headLength .~ local 0.1)

लेकिन जो भी संख्या आपके चित्रों को आपके इच्छित तरीके से देखती है। तीर विकल्पों पर अधिक के लिए तीर ट्यूटोरियल देखें ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.