Change spacing of dashes in dashed line in matplotlib

grover picture grover · Jan 30, 2016 · Viewed 27.5k times · Source

In Python, using matplotlib, is there a way to change the distance of the dashes for different linestyles, for example, using the following command:

plt.plot(x,y,linestyle='--')

Answer

gcalmettes picture gcalmettes · Jan 31, 2016

You can directly specify the dashes length/space using the dashes=(length, interval space) argument inside the plot command.

import matplotlib.pyplot as plt

fig,ax = plt.subplots()
ax.plot([0, 1], [0, 1], linestyle='--', dashes=(5, 1)) #length of 5, space of 1
ax.plot([0, 1], [0, 2], linestyle='--', dashes=(5, 5)) #length of 5, space of 5
ax.plot([0, 1], [0, 3], linestyle='--', dashes=(5, 10)) #length of 5, space of 10
ax.plot([0, 1], [0, 4], linestyle='--', dashes=(5, 20)) #length of 5, space of 20

lines