Marey.Plot
0.2.0
dotnet add package Marey.Plot --version 0.2.0
NuGet\Install-Package Marey.Plot -Version 0.2.0
<PackageReference Include="Marey.Plot" Version="0.2.0" />
<PackageVersion Include="Marey.Plot" Version="0.2.0" />
<PackageReference Include="Marey.Plot" />
paket add Marey.Plot --version 0.2.0
#r "nuget: Marey.Plot, 0.2.0"
#:package Marey.Plot@0.2.0
#addin nuget:?package=Marey.Plot&version=0.2.0
#tool nuget:?package=Marey.Plot&version=0.2.0
Marey.Plot
The chart API of Marey, a dimensionally-typed visualization system for F#. This is the package most people install.
#r "nuget: Marey.Plot"
#r "nuget: Marey.Backend.Svg"
open Marey
let t = Array.init 24 (fun i -> float i * 0.4<s>)
let x = t |> Array.map (fun t -> 0.5 * 9.81<m/s^2> * t * t)
Chart.line U.second U.metre t x
|> Chart.withTitle "Free fall"
|> Chart.toSvg SvgBackend.render "fall.svg" (Chart.size 800.0 500.0)
That prints an x axis reading t [s] and a y axis reading x [m] with nothing configured.
The scale, the domain, the SI prefix, the tick values, the tick labels and both axis titles are
derived from the two unit witnesses. x is never annotated as a length — the compiler works that
out — and plotting metres against metres on these axes is a compile error.
What is in it
Chart— twelve geoms:line,scatter,area,bar,errorbar,step,ribbon,tile,rect,segment,text, and box plots and violins by category. Most have anadd*that layers onto the last panel, andChart.Plaincovers data that genuinely has no units.- The
plotencoding block — for data that is a table rather than two arrays. Declares x, y, colour, shape and size in one place, with each dimensioned channel checked against its witness. - Channels. One colour or marker shape per category, with a legend that names the levels; or a colour or size driven by a quantity, which brings a colorbar labelled from its unit witness.
- Statistics — histogram, kernel density, ECDF, least-squares fit, and a five-number summary.
The measures carry through: a fit of metres against seconds has a slope of type
float<m/s>. - Facets.
facetWrapgives one panel per level of a key, over shared axes. - Themes. Six, all measured against the colour validator below.
Theme.tikzinherits the host LaTeX document's fonts. - Palettes — Okabe–Ito, viridis, cividis, magma and an Oklab diverging ramp, with a colour-vision-deficiency and contrast validator that every shipped theme is checked against.
- A measure–arrange constraint layout, and the axis and legend compilers.
- Per-layer styling that survives a theme change where it was set explicitly and is recoloured
where it was not, which is what makes
withThemesafe to apply last.
No backend reference
Marey.Plot does not depend on a renderer. A backend is a function passed in at render time,
which is why the same figure goes to SVG or to LaTeX without the figure knowing either exists.
Install one:
Marey.Backend.Svg— pure F#, zero dependencies.Marey.Backend.Tikz—tikzpicturesource for LaTeX, withsiunitxunits.
Depends on Marey.Core and
Marey.Units.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- FSharp.Core (>= 10.1.400)
- Marey.Core (>= 0.2.0)
- Marey.Units (>= 0.2.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Marey.Plot:
| Package | Downloads |
|---|---|
|
Marey.Html
HTML renderings of Marey values for notebooks: figures and scenes as inline SVG, colours as swatches, ramps resampled through Oklab, palettes, dimensions, unit witnesses and erased scales. Host-neutral and dependency-free. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.2.0 | 132 | 8/21/2026 |
| 0.1.1 | 131 | 8/19/2026 |
| 0.1.0 | 128 | 8/19/2026 |
| 0.1.0-rc.1 | 78 | 8/18/2026 |