Changing font size of legend title in Python pylab rose/polar plot
Solution 1
quick way to adjust font sizes in legend and legend title:
import numpy as np
import pylab as plt
f,ax = plt.subplots()
x = np.arange(10)
y = np.sin(x)
ax.plot(x,y, label = 'sin')
leg = ax.legend(fontsize = 'large')
leg.set_title("title", prop = {'size':'x-large'})
f.show()
Solution 2
There's a similar question here: How to set font size of Matplotlib axis Legend?
I manage to change the title's font size of the title using the second answer, which I found to be the simplest one. You can also change the color title and other properties. I got the following code:
leg=legend((x3, x4,),shadow=False, loc=loca,title=labelE,prop={'size':8})
leg.draw_frame(False)
ax111.get_legend().get_title().set_fontsize('36')
ax111.yaxis.set_tick_params(labelsize=10)
My guess is that it is possible be to change any title property replacing the set_fontsize('#') to other parameter as listed here:
http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.legend
Solution 3
The pyplot
api accepts a title_fontsize
parameter for pyplot.legend()
.
LaurieW
Updated on June 04, 2022Comments
-
LaurieW about 2 years
I'm trying to change the font size of the title of an existing legend on a rose, or 'polar', plot. Most of the code was written by somebody else, who is away. I've added:-
ax.legend(title=legend_title) setp(l.get_title(), fontsize=8)
to add the title 'legend_title', which is a variable that the user enters a string for in a a different function that uses this code. The second line of this doesn't return an error but doesn't appear to do anything either. The complete code is below. 'Rose' and 'RoseAxes' are modules/functions written by somebody. Does anyone know of a way to change the legend title font size? I've found some examples for normal plots but can't find any for rose/polar plots.
from Rose.RoseAxes import RoseAxes from pylab import figure, title, setp, close, clf from PlotGeneration import color_map_xml fig = figure(1) rect = [0.02, 0.1, 0.8, 0.8] ax = RoseAxes(fig, rect, axisbg='w') fig.add_axes(ax) if cmap == None: (XMLcmap,colors) = color_map_xml.get_cmap('D:/HRW/VET/HrwPyLibs/ColorMapLibrary/paired.xml',255) else: XMLcmap = cmap bqs = kwargs.pop('CTfigname', None) ax.box(Dir, U, bins = rose_binX, units = unit, nsector = nsector, cmap = XMLcmap, lw = 0, **kwargs ) l = ax.legend() ax.legend(title=legend_title) setp(l.get_texts(), fontsize=8) setp(l.get_title(), fontsize=8)
Thanks for any help