Skip to content

UI.Plot

Name Mandatory Description Default Type
⬅️ Input The value that will be passed to the Contents shards of the plot. Any
Output ➡️ The output of this shard will be its input. Any
Contents No The UI contents. none NoneShard[Shard]
ViewAspect No Width / height ratio of the plot region. none FloatVar(Float)None
DataAspect No Width / height ratio of the data. none FloatVar(Float)None
Legend No Whether to display the legend. none BoolNone

A 2D plot area.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
GFX.MainWindow(Contents: {
  // Setup
  GFX.DrawQueue = ui-draw-queue
  GFX.UIPass(ui-draw-queue) >> render-steps

  // UI
  UI({
    UI.CentralPanel({
      UI.Plot({
        [@f2(-1 0) @f2(0 0) @f2(1 0)] | UI.PlotLine
      })
    })
  })

  UI.Render(ui-draw-queue)
  GFX.Render(Steps: render-steps)
})

[warning] Context has 10 buffers at release (2 released, 10 kept)
[warning] Context has 5 textures at release (1 released, 5 kept)
 

 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
GFX.MainWindow(Contents: {
  // Setup
  GFX.DrawQueue = ui-draw-queue
  GFX.UIPass(ui-draw-queue) >> render-steps

  // UI
  UI({
    UI.TopPanel(Contents: {
      UI.Checkbox("Horizontal" horizontal)
    })
    UI.CentralPanel({
      UI.Plot({
        [] >= hist
        ForRange(-40 39 {
          0.02 | Math.Multiply(3.1415926535) | Math.Sqrt = f
          ToFloat | Math.Divide(10.0) | Math.Add(0.05) >= x
          x | Math.Multiply(x) | Math.Divide(-2.0) | Math.Exp | Math.Divide(f) >= y
          [x y] | ToFloat2 >> hist
        })
        hist | ExpectLike([@f2(0 0)])
        UI.PlotBar(
          Horizontal: horizontal
          Width: 0.095
          Color: @color(173 216 230)
        )
      })
    })
  })

  UI.Render(ui-draw-queue)
  GFX.Render(Steps: render-steps)
})

[warning] Context has 14 buffers at release (2 released, 14 kept)
[warning] Context has 5 textures at release (2 released, 5 kept)
 

 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
GFX.MainWindow(Contents: {
  // Setup
  GFX.DrawQueue = ui-draw-queue
  GFX.UIPass(ui-draw-queue) >> render-steps

  // UI
  UI({
    UI.CentralPanel({
      UI.Plot(Legend: true Contents: {
        [] >= sin
        ForRange(-32 32 {
          ToFloat | Math.Divide((32.0 | Math.Divide(3.1415926535))) >= x
          x | Math.Sin >= y
          [x y] | ToFloat2 >> sin
        })
        sin | ExpectLike([@f2(0 0)])
        UI.PlotPoints(
          Color: @color(200 100 100)
          Name: "sin"
        )
      })
    })
  })

  UI.Render(ui-draw-queue)
  GFX.Render(Steps: render-steps)
})

[warning] Context has 12 buffers at release (2 released, 12 kept)
[warning] Context has 5 textures at release (1 released, 5 kept)