squiggle/showcase/entries/Continuous.re

37 lines
1.2 KiB
ReasonML
Raw Normal View History

let data: DistributionTypes.xyShape = {
2020-02-17 22:53:39 +00:00
xs: [|1., 10., 10., 200., 250., 292., 330.|],
ys: [|0.0, 0.0, 0.1, 0.3, 0.5, 0.2, 0.1|],
};
2020-02-20 12:54:45 +00:00
// "mm(floor(uniform(30,35)), normal(50,20), [.25,.5])",
2020-02-17 22:53:39 +00:00
let timeDist =
GenericDistribution.make(
2020-02-20 13:59:29 +00:00
~generationSource=GuesstimatorString("floor(normal(30,3))"),
2020-02-17 22:53:39 +00:00
~probabilityType=Pdf,
~domain=Complete,
2020-02-20 12:54:45 +00:00
~unit=TimeDistribution({zero: MomentRe.momentNow(), unit: `days}),
2020-02-17 22:53:39 +00:00
(),
)
2020-02-18 13:23:02 +00:00
|> GenericDistribution.renderIfNeeded(~sampleCount=1000);
2020-02-17 22:53:39 +00:00
let distributions = () =>
<div>
<div>
2020-02-19 22:28:16 +00:00
<h2> {"Basic Mixed Distribution" |> ReasonReact.string} </h2>
{timeDist
2020-02-20 10:57:01 +00:00
|> E.O.bind(_, GenericDistribution.normalize)
2020-02-19 22:28:16 +00:00
|> E.O.React.fmapOrNull(dist => <GenericDistributionChart dist />)}
<h2> {"Simple Continuous" |> ReasonReact.string} </h2>
</div>
</div>;
2020-02-19 22:28:16 +00:00
// <GenericDistributionChart dist=mixedDist />
2020-02-18 19:01:11 +00:00
// <div>
// <h2> {"Time Distribution" |> ReasonReact.string} </h2>
// <GenericDistributionChart dist=timeDist />
// </div>
// <div>
// <h2> {"Domain Limited Distribution" |> ReasonReact.string} </h2>
// <GenericDistributionChart dist=domainLimitedDist />
// </div>
2020-02-17 22:53:39 +00:00
let entry = EntryTypes.(entry(~title="Pdf", ~render=distributions));