title: Comprehensively setting matplotlib font parameters
body: <p>From what I understand of <a href="https://matplotlib.org/3.1.3/tutorials/introductory/customizing.html" rel="nofollow noreferrer">this documentation</a> <code>matplotlib</code> provides 3 ways to change the style parameters for plotting (things like <code>axes.grid</code>). Those ways are: using style sheets to set many parameters at a time; setting specific parameters through <code>matplotlib.rcParams</code> or <code>matplotlib.rc</code>; or using a <code>matplotlibrc</code> file to set defaults. </p>
  
  <p>I would like to understand if <em>all</em> of the parameters are accessible in each of the methods I listed above and where I can find a comprehensive list of <em>all</em> of the parameters. </p>
  
  <p>I have tried to understand this from the linked documentation, but I often fail. A specific example is setting the axis font. I typically use a combination like this:</p>
  
  <pre class="lang-py prettyprint-override"><code>axis_font = {'fontname':'Arial', 'size':'32'}
  ax.set_ylabel('some axis title',**axis_font)
  </code></pre>
  
  <p>But it is not clear what <code>matplotlib</code> parameter (if any) I have set. Does there exist a parameter for the axis font that could be included in a style file for example?</p>
  
  <p>Other attempts in my code include confusing blocks like:</p>
  
  <pre class="lang-py prettyprint-override"><code>legend_font = {'fontname':'Arial', 'size':'22'}
  #fonts global settings
  matplotlib.rc('font',family=legend_font['fontname'])
  </code></pre>
  
  <p>By the names it seems like it would be changing the legend font, but actually it is clearly setting the parameter for the overall font. And the size is not being used. Are there <code>matplotlib</code> parameters for <em>specifically</em> the legend font and legend size? </p>
  
  <p>The things I've tried are:</p>
  
  <ul>
  <li>Checking the example <code>matplotlibrc</code> at the bottom of the linked page (no sign of axis or legend fonts specifically)</li>
  <li>Printing <code>matplotlib.rcParams</code> (no sign of axis or legend fonts)</li>
  <li>Checking the <a href="https://matplotlib.org/api/axes_api.html#module-matplotlib.axes" rel="nofollow noreferrer">axis api</a> (could not match up with example style files e.g. the <a href="https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/mpl-data/stylelib/classic.mplstyle" rel="nofollow noreferrer"><em>classic</em> predefined style file</a> has <code>facecolor</code> set, which is mentioned in that page, but it also has <code>edgecolor</code> set which is not mentioned on the page)</li>
  </ul>