15

How can I give the labels "a", "b", "c" individual colors (e.g. "a" in green, "b" in blue, "c" in red) in the example below?

import numpy as np
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
p = plt.boxplot(np.random.normal(size=(10,3)))
ax.set_xticklabels(list("abc"))
plt.show()

Example of boxplot without individually colored labels.

Fred S
  • 1,421
  • 6
  • 21
  • 37

1 Answers1

21

The code:

import numpy as np
import matplotlib.pyplot as plt
    fig, ax = plt.subplots()
    p = plt.boxplot(np.random.normal(size=(10,3)))
    ax.set_xticklabels(list("abc"))

[t.set_color(i) for (i,t) in
 zip(['red','green','blue'],ax.xaxis.get_ticklabels())]

plt.show()

Gives me:

enter image description here

William Denman
  • 3,046
  • 32
  • 34