How to change the style of a line with Matplotlib using Python

2 min

Changing the style of a line in Matplotlib can sometimes help a lot with data visualization.

It makes the line clearer and facilitates greatly the reading of a chart.

There are many different styling available:

  1. solid or "-"
  2. dashed or "--"
  3. dashdot or "-."
  4. dotted or ":"

Here is the code

In order to plot something, let's generate data using NumPy, normally distributed data random generator numpy.random.normal().

Let's generate some sample data:

# To generate some sample data
import numpy as np

# To plot
import matplotlib.pyplot as plt

# We generate some sample data
x = np.random.normal(0,1,50)
Some sample data generation

In order to change the style, we are going to pass the ls argument.

The solid line

fig, axes = plt.subplots(1, 1, figsize=(8,4))
axes.plot(x, ls='-') # By passing the ls parameter
fig.tight_layout()
plt.show()

The result

A solid line plot

The dashed line

fig, axes = plt.subplots(1, 1, figsize=(8,4))
axes.plot(x, ls='--') # By passing the ls parameter
fig.tight_layout()
plt.show()

The result

A dashed line plot

The dashdot line

fig, axes = plt.subplots(1, 1, figsize=(8,4))
axes.plot(x, ls='-.') # By passing the ls parameter
fig.tight_layout()
plt.show()

The result

A dashdot line plot

The dotted line

fig, axes = plt.subplots(1, 1, figsize=(8,4))
axes.plot(x, ls=':') # By passing the ls parameter
fig.tight_layout()
plt.show()

The result

A dotted line plot

More on Matplotlib

If you like what you've just read and want to know more about the Matplotlib library (e.g. how to add labels, plot different types of plots, etc...) check out the other articles I wrote on the topic, just here :

Matplotlib - The Python You Need
We gathered the only Python essentials that you will probably ever need.