unique plot marker for each plot

itertools.cycle will iterate over a list or tuple indefinitely. This is preferable to a function which randomly picks markers for you.

Python 2.x

import itertools
marker = itertools.cycle((',', '+', '.', 'o', '*')) 
for n in y:
    plt.plot(x,n, marker = marker.next(), linestyle="")

Python 3.x

import itertools
marker = itertools.cycle((',', '+', '.', 'o', '*')) 
for n in y:
    plt.plot(x,n, marker = next(marker), linestyle="")

You can use that to produce a plot like this (Python 2.x):

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

x = np.linspace(0,2,10)
y = np.sin(x)

marker = itertools.cycle((',', '+', '.', 'o', '*')) 

fig = plt.figure()
ax = fig.add_subplot(111)

for q,p in zip(x,y):
    ax.plot(q,p, linestyle="", marker=marker.next())
    
plt.show()

Example plot

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)