File: radar.ml

package info (click to toggle)
mlpost 0.9-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,844 kB
  • sloc: ml: 21,094; javascript: 4,047; makefile: 430; ansic: 34; lisp: 19; sh: 15
file content (36 lines) | stat: -rw-r--r-- 921 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
open Mlpost
open Command
open Num
open Color
open Box

(*parse <<togglescript>> *)

(*parse <<radar1 *)
let radar1 =
  let pic =
    Radar.stack ~radius:(bp 50.)
      ~pen:(Pen.scale (bp 1.5) Pen.circle)
      ~color:[ blue; red; green ]
      ~label:[ "first"; "second"; "third"; "fourth"; "fifth" ]
      [ [ 3.; 4.; 5.; 6.; 4. ]; [ 6.; 5.; 2.; 1.; 1. ]; [ 1.; 7.; 2.; 4.; 5. ] ]
  in
  draw_pic pic

(*parse >> <<radar2 *)
let radar2 =
  let pics =
    Radar.compare ~radius:(bp 20.)
      ~pen:(Pen.scale (bp 0.5) Pen.circle)
      ~color:[ lightblue; lightred; lightgreen ]
      ~fill:true
      [ [ 3.; 4.; 5.; 6.; 4. ]; [ 6.; 5.; 2.; 1.; 1. ]; [ 1.; 7.; 2.; 4.; 5. ] ]
  in
  Box.draw (Box.vbox ~padding:(bp 10.) (List.map (Box.pic ~stroke:None) pics))

(*parse >> *)

let _ =
  List.iter
    (fun (name, fig) -> Metapost.emit name (Picture.scale (Num.bp 3.) fig))
    [ ("radar1", radar1); ("radar2", radar2) ]