2010-09-04 80 views
1

問題更新:我幾乎在那裏,只是缺少網格的虛線樣式。 alt text如何控制rebol繪製中的框之間的空間?

格:[1100 600] 步驟格:5 最大正幾點:網格/ 1 /步驟柵 x軸邊界:20 Y型餘量:10

最大隨機:1000 正分: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 

回答

1

使用空間關鍵字來控制間距

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

另外,還可以使用「網格用於繪製網格

「網格生成線的二維網格。這是圖形佈局程序的一個有用的背景,可選的參數是:一個PAIR,指定網格線的水平和垂直間距,一個PAIR,指定第一行的偏移量,一個PAIR,指示水平線和垂直線,以及提供線條顏色的TUPLE。「

+0

謝謝,這是很好,除了我看不到網格的虛線樣式參數,所以是否有可能或將不得不自己畫線以獲得虛線樣式?在這種情況下,也許我可以去vid的源代碼來破解我應該得到它的網格? – 2010-09-05 11:36:46

+0

我認爲它只是繼承了上次使用的線條樣式。 – 2010-09-05 21:50:17