Hey folks, so far i have seen two ways of getting a matplotlib plot to show via PyScript:

- Call
`matplotlib.pyplot.figure()`

and store the instance in`fig`

- Do the plotting via
`plot()`

calls - then type
`fig`

The other way i have seen working is:

```
import matplotlib.pyplot as plt
plt.plot(..)
plt
```

However, i haven’t been able to get the `pylab`

module working i.e. to show the graph with something like this:

```
from pylab import plot, show
plot(..)
show()
```

Now, i am guessing anything that prints inside the Python program gets shown in the `div`

. However, with `matplotlib`

, i am not able to understand why the first two options work and the third doesn’t.

After I wrote this, I came across another behavior I don’t understand. Consider the following code:

```
def draw_graph(x, y):
plt.plot(x, y)
plt.show()
fig = plt.figure()
try:
u = float(input('Enter the initial velocity (m/s): '))
theta = float(input('Enter the angle of projection (degrees): '))
except ValueError:
print('You entered an invalid input')
else:
# calculate x and y (omitted)
draw_graph(x, y)
fig
```

The above shows the graph. However, when I write the `try..except..else`

as follows, it doesn’t (I move the `fig`

statements inside the `else`

block):

```
try:
u = float(input('Enter the initial velocity (m/s): '))
theta = float(input('Enter the angle of projection (degrees): '))
except ValueError:
print('You entered an invalid input')
else:
fig = plt.figure()
# calculate x and y (omitted)
draw_graph(x, y)
fig
```

Would appreciate any pointers, thank you.