diff --git a/examples/lines_bars_and_markers/linestyles.py b/examples/lines_bars_and_markers/linestyles.py new file mode 100644 index 000000000000..c61276a6d6f5 --- /dev/null +++ b/examples/lines_bars_and_markers/linestyles.py @@ -0,0 +1,43 @@ +""" +Different linestyles copying those of Tikz/PGF +""" +import numpy as np +import matplotlib.pyplot as plt +from collections import OrderedDict + +linestyles = OrderedDict( + [('solid', (0, ())), + ('loosely dotted', (0, (1, 10))), + ('dotted', (0, (1, 5))), + ('densely dotted', (0, (1, 1))), + + ('loosely dashed', (0, (5, 10))), + ('dashed', (0, (5, 5))), + ('densely dashed', (0, (5, 1))), + + ('loosely dashdotted', (0, (3, 10, 1, 10))), + ('dashdotted', (0, (3, 5, 1, 5))), + ('densely dashdotted', (0, (3, 1, 1, 1))), + + ('loosely dashdotdotted', (0, (3, 10, 1, 10, 1, 10))), + ('dashdotdotted', (0, (3, 5, 1, 5, 1, 5))), + ('densely dashdotdotted', (0, (3, 1, 1, 1, 1, 1)))]) + + +plt.figure(figsize=(10, 6)) +ax = plt.subplot(1, 1, 1) + +X, Y = np.linspace(0, 100, 10), np.zeros(10) +for i, (name, linestyle) in enumerate(linestyles.items()): + ax.plot(X, Y+i, linestyle=linestyle, linewidth=1.5, color='black') + +ax.set_ylim(-0.5, len(linestyles)-0.5) +plt.yticks(np.arange(len(linestyles)), linestyles.keys()) +plt.xticks([]) + +for i, (name, linestyle) in enumerate(linestyles.items()): + ax.text(-0.5, i-0.4, str(linestyle), fontsize=8, ha="right", + color="blue", family="monospace") + +plt.tight_layout() +plt.show()