# Create a Bayes distribution¶

In this example we are going to build the distribution of the random vector with X conditioned by the random variable Theta obtained with the random variable Y through a function f ```from __future__ import print_function
import openturns as ot
import openturns.viewer as viewer
from matplotlib import pylab as plt
ot.Log.Show(ot.Log.NONE)
```

create the Y distribution

```YDist = ot.Uniform(-1.0, 1.0)
```

create Theta=f(y)

```f = ot.SymbolicFunction(['y'], ['y', '1 + y'])
```

create the X|Theta distribution

```XgivenThetaDist = ot.Uniform()
```

create the distribution

```XDist = ot.BayesDistribution(XgivenThetaDist, YDist, f)
XDist.setDescription(['X|Theta=f(y)', 'y'])
XDist
```

BayesDistribution(X, Y with X|Theta~Uniform(Theta), Theta=f(Y), f=[y]->[y,1 + y], Y~Uniform(a = -1, b = 1))

Get a sample

```sample = XDist.getSample(100)
```

draw PDF

```graph = XDist.drawPDF()
cloud = ot.Cloud(sample)
cloud.setColor('red')
cloud.setLegend('sample')
view = viewer.View(graph)
plt.show()
``` Out:

```/home/devel/project/build/python/src/site-packages/openturns/viewer.py:432: UserWarning: No contour levels were found within the data range.
contourset = self._ax.contour(X, Y, Z, **contour_kw)
```

Total running time of the script: ( 0 minutes 0.206 seconds)

Gallery generated by Sphinx-Gallery