# Solved: python plot normal distribution

The main problem related to plotting a normal distribution in Python is that it can be difficult to accurately represent the data. The normal distribution is a continuous probability distribution, which means that it has an infinite number of possible values and therefore cannot be accurately represented by a finite set of points. Additionally, when plotting the normal distribution, it is important to ensure that the axes are properly scaled so that the data can be correctly interpreted. Finally, there may also be issues with determining which type of plot (e.g., histogram or line graph) best represents the data.

```
import matplotlib.pyplot as plt
import numpy as np

mu, sigma = 0, 0.1 # mean and standard deviation
s = np.random.normal(mu, sigma, 1000)
count, bins, ignored = plt.hist(s, 30, density=True)
plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) *np.exp( - (bins - mu)**2 / (2 * sigma**2) ),linewidth=2, color='r')
plt.show()```

1. Import the matplotlib library and assign it the alias “plt”.
2. Import the numpy library and assign it the alias “np”.
3. Assign 0 to mu (mean) and 0.1 to sigma (standard deviation).
4. Create an array of 1000 random numbers with a mean of mu and standard deviation of sigma using numpy’s random normal function, and assign it to variable s.
5. Use plt’s hist function to create a histogram from array s, with 30 bins, and set density to True for probability density estimation.
6. Plot a line on top of the histogram using plt’s plot function, with bins as x-axis values, 1/(sigma * np.sqrt(2 * np.pi)) *np.exp( – (bins – mu)**2 / (2 * sigma**2)) as y-axis values, linewidth set to 2, and color set to red (‘r’).
7. Show the plot using plt’s show function

## Plotting library

Python has a variety of plotting libraries that can be used to create visualizations of data. Matplotlib is the most popular library for plotting in Python and it provides a wide range of features for creating different types of plots. Seaborn is another popular library that is built on top of Matplotlib and provides additional features such as color palettes, statistical functions, and plot styling. Bokeh is another library that focuses on interactive visualization, allowing users to create interactive plots with sliders, buttons, and other widgets. Plotly is a more recent library that offers both static and interactive plots with the ability to export them as HTML or JavaScript files.

## What is a normal distribution curve

A normal distribution curve in Python is a graphical representation of a probability distribution that follows the normal (or Gaussian) distribution. It is a symmetric bell-shaped curve that is defined by its mean and standard deviation. The normal distribution has several properties, such as being unimodal, symmetric about the mean, having a fixed area under the curve, and having finite variance. In Python, this type of graph can be generated using the matplotlib library.

## How to plot normal distribution

To plot a normal distribution in Python, you can use the matplotlib library. First, import the library and set up the figure size:

import matplotlib.pyplot as plt
plt.rcParams[“figure.figsize”] = (10,7)

Next, define the mean and standard deviation of your data:
mean = 0
std = 1

Then create a range of x values from -4σ to 4σ:
x = np.linspace(-4*std, 4*std, 100) # 100 linearly spaced numbers from -4σ to 4σ
y = 1/(np.sqrt(2*np.pi)*std)*np.exp(-0.5*((x-mean)/std)**2) # normal distribution equation

Finally, plot the data using matplotlib’s plot function:

plt.plot(x, y) # Plotting our data

plt.title(“Normal Distribution”) # Adding a title to our graph

plt.show() # Showing our graph

Related posts: