View Source Terrestrial (terrestrial v0.2.0)

Documentation for Terrestrial.

Examples

defmodule MyAppWeb.DemoLive do
  use MyAppWeb, :live_view
  alias Terrestrial, as: C

  def render(assigns) do
    assigns = assign(assigns, data: data())

    ~H"""
      <C.chart elements={[C.axis_x()]}
    """
  end

  def data() do
    [
      %{x: 1, y: 2},
      %{x: 2, y: 3},
      %{x: 3, y: 4},
      %{x: 4, y: 3},
      %{x: 5, y: 2},
      %{x: 6, y: 4},
      %{x: 7, y: 5}
    ]
  end
end

Summary

Functions

Add a bar series to your chart.

Attributes

  • id (:string) - Defaults to nil.
  • elements (:list) - Defaults to [].
  • edits (:list) - Defaults to [].

Like scatter/2 but connects the dots.

Add a label at a specific coordinate.

Add a label relative to your axes.

Render a dot for each datapoint.

Add a line series to your chart.

Stack bars or lines.

Functions

axis_x(edits \\ [])

axis_y(edits \\ [])

bar(y, edits)

bars(edits, properties, data)

@spec bars(function(), [Terrestrial.Property.t()], list()) :: {:indexed, function()}

Add a bar series to your chart.

chart(assigns)

Attributes

  • id (:string) - Defaults to nil.
  • elements (:list) - Defaults to [].
  • edits (:list) - Defaults to [].

grid(edits \\ [])

interpolated(to_y, dot_edits, interpolation_edits)

@spec interpolated((any() -> float()), list(), list()) :: Terrestrial.Property.t()

Like scatter/2 but connects the dots.

label(edits, inner, point)

Add a label at a specific coordinate.

label_at(to_x, to_y, edits, inner)

Add a label relative to your axes.

line(edits)

scatter(to_y, dot_edits)

@spec scatter((any() -> float()), list()) :: Terrestrial.Property.t()

Render a dot for each datapoint.

series(func_x, properties, data)

@spec series((any() -> float()), [Terrestrial.Property.t()], list()) ::
  {:indexed, function()}

Add a line series to your chart.

stacked(properties)

Stack bars or lines.

x_labels(edits \\ [])

x_ticks(edits \\ [])

y_labels(edits \\ [])

y_ticks(edits \\ [])