2022-02-28 23:59:48 +00:00
|
|
|
import { SquiggleChart } from '../SquiggleChart'
|
2022-03-01 07:43:35 +00:00
|
|
|
import { Canvas, Meta, Story, Props } from '@storybook/addon-docs';
|
2022-02-28 23:59:48 +00:00
|
|
|
|
|
|
|
<Meta title="Squiggle/SquiggleChart" component={ SquiggleChart } />
|
|
|
|
|
2022-03-01 07:43:35 +00:00
|
|
|
export const Template = SquiggleChart
|
2022-02-28 23:59:48 +00:00
|
|
|
|
|
|
|
# Squiggle Chart
|
|
|
|
|
|
|
|
Squiggle chart evaluates squiggle expressions, and then returns a graph representing
|
|
|
|
the result of a squiggle expression.
|
|
|
|
|
|
|
|
A squiggle expression can have three different types of returns. A distribution,
|
|
|
|
a constant, and a function.
|
|
|
|
|
|
|
|
A distribution means that the result forms a probability distribution. This
|
|
|
|
could be continuous, discrete or mixed.
|
|
|
|
|
|
|
|
## Distributions
|
|
|
|
|
|
|
|
An example of a normal distribution is:
|
|
|
|
<Canvas>
|
|
|
|
<Story
|
|
|
|
name="Normal"
|
|
|
|
args={{
|
|
|
|
squiggleString: "normal(5,2)"
|
|
|
|
}}>
|
|
|
|
{Template.bind({})}
|
|
|
|
</Story>
|
|
|
|
</Canvas>
|
|
|
|
|
|
|
|
|
|
|
|
An example of a Discrete distribution is:
|
|
|
|
<Canvas>
|
|
|
|
<Story
|
|
|
|
name="Discrete"
|
|
|
|
args={{
|
|
|
|
squiggleString: "mm(0, 1, [0.5, 0.5])"
|
|
|
|
}}>
|
|
|
|
{Template.bind({})}
|
|
|
|
</Story>
|
|
|
|
</Canvas>
|
|
|
|
|
|
|
|
An example of a Mixed distribution is:
|
|
|
|
<Canvas>
|
|
|
|
<Story
|
|
|
|
name="Mixed"
|
|
|
|
args={{
|
|
|
|
squiggleString: "mm(0, 5 to 10, [0.5, 0.5])"
|
|
|
|
}}>
|
|
|
|
{Template.bind({})}
|
|
|
|
</Story>
|
|
|
|
</Canvas>
|
|
|
|
|
|
|
|
## Constants
|
|
|
|
A constant is a simple number as a result. This has special formatting rules
|
|
|
|
to allow large and small numbers being printed cleanly.
|
|
|
|
<Canvas>
|
|
|
|
<Story
|
|
|
|
name="Constant"
|
|
|
|
args={{
|
|
|
|
squiggleString: "500000 * 5000000"
|
|
|
|
}}>
|
|
|
|
{Template.bind({})}
|
|
|
|
</Story>
|
|
|
|
</Canvas>
|
|
|
|
|
|
|
|
## Functions
|
|
|
|
Finally, a function can be returned, and this shows how the distribution changes
|
|
|
|
over the axis between x = 0 and 10.
|
|
|
|
|
|
|
|
<Canvas>
|
|
|
|
<Story
|
|
|
|
name="Function"
|
|
|
|
args={{
|
|
|
|
squiggleString: "f(x) = normal(x,x)\nf"
|
|
|
|
}}>
|
|
|
|
{Template.bind({})}
|
|
|
|
</Story>
|
|
|
|
</Canvas>
|
|
|
|
|
2022-03-01 07:43:35 +00:00
|
|
|
<Props of={SquiggleChart} />
|