Dar*_*ius 5 haskell haskell-diagrams
我现在正在我的图书馆学习论文,我需要你帮助制作新的线型.Bellow有单行代码,双头箭头:< - >.我想问一下是否有能力从line(line = trailFromOffsets [unitX])到doubleline,看起来像这样:=,带有它的箭头看起来像这样<=>?如果有能力做到这一点,我会非常感谢一个例子!先感谢您!
line = trailFromOffsets [unitX]
doubleHeadArrow = (with & arrowHead .~ spike & headColor .~ black & headSize .~ 0.4
& arrowTail .~ spike' & tailColor .~ black & tailSize .~ 0.4
& arrowShaft .~ line)
Run Code Online (Sandbox Code Playgroud)
我认为你需要创建某种假箭头。取一个带有隐形轴的双头箭头,不透明度为0。并将两条平行线放置到隐形轴上,即箭头,使用sep。
import Data.Colour (withOpacity)
invisibleShaftArrow = arrowBetween' (with & arrowHead .~ spike & headColor .~ black & headSize .~ 0.4
& arrowTail .~ spike' & tailColor .~ black & tailSize .~ 0.4
& arrowShaft .~ line & shaftColor .~ anyColor `withOpacity` 0)
Run Code Online (Sandbox Code Playgroud)
编辑:更正确的是,lines函数应该可以解决问题:
line = trailFromOffsets [unitX]
lines = mconcat $ map strokeLocTrail [line, offsetTrail 0.1 line]
example = (with & arrowHead .~ spike & headColor .~ black & headSize .~ 0.4
& arrowTail .~ spike' & tailColor .~ black & tailSize .~ 0.4
& arrowShaft .~ lines)
Run Code Online (Sandbox Code Playgroud)