Created
August 21, 2011 18:23
-
-
Save jasonmc/1160951 to your computer and use it in GitHub Desktop.
Setting colors in matplotlib easily (can do white-on-black)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def set_foregroundcolor(ax, color): | |
'''For the specified axes, sets the color of the frame, major ticks, | |
tick labels, axis labels, title and legend | |
''' | |
for tl in ax.get_xticklines() + ax.get_yticklines(): | |
tl.set_color(color) | |
for spine in ax.spines: | |
ax.spines[spine].set_edgecolor(color) | |
for tick in ax.xaxis.get_major_ticks(): | |
tick.label1.set_color(color) | |
for tick in ax.yaxis.get_major_ticks(): | |
tick.label1.set_color(color) | |
ax.axes.xaxis.label.set_color(color) | |
ax.axes.yaxis.label.set_color(color) | |
ax.axes.xaxis.get_offset_text().set_color(color) | |
ax.axes.yaxis.get_offset_text().set_color(color) | |
ax.axes.title.set_color(color) | |
lh = ax.get_legend() | |
if lh != None: | |
lh.get_title().set_color(color) | |
lh.legendPatch.set_edgecolor('none') | |
labels = lh.get_texts() | |
for lab in labels: | |
lab.set_color(color) | |
for tl in ax.get_xticklabels(): | |
tl.set_color(color) | |
for tl in ax.get_yticklabels(): | |
tl.set_color(color) | |
def set_backgroundcolor(ax, color): | |
'''Sets the background color of the current axes (and legend). | |
Use 'None' (with quotes) for transparent. To get transparent | |
background on saved figures, use: | |
pp.savefig("fig1.svg", transparent=True) | |
''' | |
ax.patch.set_facecolor(color) | |
lh = ax.get_legend() | |
if lh != None: | |
lh.legendPatch.set_facecolor(color) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
found this on a google search, leaving this comment for others that get here looking for what I really wanted:
if you want to change the color behind the tick labels (say you have a plot showing on a dark background), do this: