Optional:
To get full control over the style of your figures use an existing mplstyle as a template:
https://github.com/matplotlib/matplotlib/tree/master/lib/matplotlib/mpl-data/stylelib
adjust the parameter : axes.prop_cycle: cycler('color', [....])
load your style:
from matplotlib import style
style.use ('PATH TO YOUR MPL STYLE')
You can cycle through your or the default style color cycle almost any way you want:
#!/usr/bin/python
import matplotlib.pyplot as plt
#data
x=[1,2,4]
y=[11,12,8]
prop_iter = iter(plt.rcParams['axes.prop_cycle'])
for i in range(0,len(x)):
plt.bar(x[i],y[i],color=next(prop_iter)['color'])
plt.show()
plt.rcParams['axes.prop_cycle'] grabs all cycles so you need to select the correct cycler using the key ['color'].
You can drop the iterator creation and use list comprehension and zip to create one liners:
#!/usr/bin/python
import matplotlib.pyplot as plt
x=[1,2,4]
y=[11,12,8]
prop = plt.rcParams['axes.prop_cycle']
[plt.bar(param[0],param[1],color=param[2]['color']) for param in zip(x,y,prop)]
plt.show()
enter image description here
getCycledColor()
is called only once whenaxes().bar(..)
is called) – Jaquelinejaquelyn