Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Matplotlib: coloring axis/tick labels

How would one color y-axis label and tick labels in red?

So for example the "y-label" and values 0 through 40, to be colored in red. sample_image

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(10)

fig = plt.figure()
ax = plt.subplot(111)
ax.set_ylabel("y-label")

for i in xrange(5):
    ax.plot(x, i * x, label='$y = %ix$' % i)

ax.legend()

plt.show()
like image 861
dimka Avatar asked Jan 04 '13 21:01

dimka


2 Answers

  label = plt.ylabel("y-label")
  label.set_color("red")

similarly, you can obtain and modify the tick labels:

[i.set_color("red") for i in plt.gca().get_xticklabels()]
like image 118
grep Avatar answered Oct 29 '22 00:10

grep


The xlabel can be colorized when setting it,

ax.set_xlabel("x-label", color="red")

For setting the ticklabels' color, one may either use tick_params, which sets the ticklabels' as well as the ticks' color

ax.tick_params(axis='x', colors='red')

enter image description here

Alternatively, plt.setp can be used to only set the ticklabels' color, without changing the ticks' color.

plt.setp(ax.get_xticklabels(), color="red")

enter image description here

Note that for changing the properties on the y-axis, one can replace the x with a y in the above.

like image 44
ImportanceOfBeingErnest Avatar answered Oct 29 '22 01:10

ImportanceOfBeingErnest