【问题标题】:How to control the space between boxes in rebol draw?如何控制rebol draw中框之间的空间?
【发布时间】:2010-09-04 17:19:50
【问题描述】:

问题更新:我快到了,只是缺少网格的虚线样式。

网格:[1100 600] 步进网格:5 max-n-points: grid/1 / step-grid x轴边界:20 Y 边距:10

最大随机数:1000 n 点:300

get-random-data: func[n p][
  block: copy []
  repeat i n [
    append block RANDOM p
  ]
  block
]

get-extremes: func[block][
  extreme: none
  foreach element block [
    if none? extreme [
      extreme: copy []
      repeat i 2 [append extreme element]
    ]
    if element > extreme/1 [
      extreme/1: element
    ]
    if element < extreme/2 [
      extreme/2: element
    ]    
  ]
  extreme
]

data0: get-random-data n-points max-random


extremes: get-extremes data0
height: extremes/1 - extremes/2
ratio: (grid/2 - x-axis-border - (Y-margin * 2)) / height

data: copy []

foreach element skip data0 (n-points - max-n-points) [      
  append data to-integer (ratio * element)
]


plot: copy []
color: 0.0.0

append plot [
  pen green line
]
x: 0
foreach y data [
    append plot as-pair x (grid/2 - x-axis-border - Y-margin) - y
    x: x + 5
]

main: layout [
    origin 20x0
    space 1x1
    panel1: box 1100x580 black effect reduce [
    'line-pattern 4 4
    'grid 30x30 0x0 200.200.200
    'draw plot
    ]   
    panel2: box 1100x0 black 
    panel3: box 1100x20 black    
]

view main

=== 前一个问题

每个盒子之间的空间太大,我无法绘制虚线网格,如何做到这一点?

plot: copy []
color: 0.0.0

append plot [line-pattern 4 4]
repeat x 400 [
    repeat y 200 [
        append plot compose [
            box (xy: 25 * as-pair x - 1 y - 1) (xy + 25)
        ]
    ]
]

main: layout [
    origin 0x0
    panel1: box 800x400 black effect reduce ['draw plot]   
    panel2: box 800x180 black 
    panel3: box 800x20 black    
]

view main

【问题讨论】:

    标签: functional-programming rebol


    【解决方案1】:

    使用space关键字控制间距

    http://www.rebol.com/docs/view-guide.html#section-29

    另外,您可以使用“网格”来绘制网格

    "grid 生成一个二维网格线。这是图形布局程序的有用背景。可选参数是:一个 PAIR 指定网格线的水平和垂直间距,一个 PAIR 指定网格线的偏移量第一行,一个指示水平和垂直线粗细的 PAIR,以及一个提供线条颜色的 TUPLE。"

    【讨论】:

    • 谢谢,这很好,只是我看不到网格的虚线样式参数,所以有可能还是我必须自己画线才能获得虚线样式?在那种情况下,也许我可以去 vid 源代码破解网格我应该在哪里得到它?
    • 我认为它只是继承了上次使用的线条样式。
    猜你喜欢
    • 2012-12-05
    • 2018-01-23
    • 1970-01-01
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    • 2012-10-22
    相关资源
    最近更新 更多