## Libraries

First, we need to load a few libraries:

- matplotlib: for creating/styling the plot
- seaborn: for creating the plot
`numpy`

for data generation

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

## Basic Lineplot

You can create a **basic line chart** with the `plot()`

function of matplotlib library. If you give only a serie of values, matplotlib will consider that these values are ordered and will use values from 1 to n to create the X axis (figure 1):

```
# create data
values=np.cumsum(np.random.randn(1000,1))
# use the plot function
plt.plot(values)
# show the graph
plt.show()
```

## Seaborn Customization

For a more trendy look, you can use the `set_theme()`

function of seaborn library. You will automatically get the look of figure 2.

```
sns.set_theme()
# create data
values=np.cumsum(np.random.randn(1000,1))
# use the plot function
plt.plot(values)
# show the graph
plt.show()
```

## Use lineplot with unordered data

You can also make a line chart from 2 series of values (X and Y axis). However, make sure that your X axis values are ordered! If not, you will get this kind of figure (figure 3).

```
# import the iris dataset
df = sns.load_dataset('iris')
# plot
plt.plot( 'sepal_width', 'sepal_length', data=df)
# show the graph
plt.show()
```

## Use lineplot with ordered data

If your X data is ordered, then you will get a similar figure as figure 1:

```
import pandas as pd
df=pd.DataFrame({'xvalues': range(1,101), 'yvalues': np.random.randn(100) })
# plot
plt.plot( 'xvalues', 'yvalues', data=df)
# show the graph
plt.show()
```

## Going further

This post explains how to customize a line plot with matplotlib and seaborn libraries.

You might be interested in how to use 2 different y axis for 2 lines and how to have a log scale.