title: How to add multiple Y-Axis to bar plot in matplotlib?
body: <p>I have a dataframe of 6 columns that I want to plot as bar plot. The last 3 columns are on the on a secondary axis. One of the last 3 columns has values with much higher scale than the other two and I would like to add a 3rd Y axis to plot it with appropriate scale. In the following code example, I managed to add one a secondary Y-axis. But I could not find a way to add an additional (3rd) Y-axis.</p>
  <p>Here is an example code:</p>
  <pre><code># %config IPCompleter.greedy=True
  import pandas as pd 
  import matplotlib.pyplot as plt
  
  
  # Set the plotting settings 
  plotStyleDict = {'axes.titlesize' : 18,
  'axes.titleweight' :'bold',
  'axes.labelsize' : 15,
  'lines.linewidth' : 3,
  'lines.markersize' : 10,
  'xtick.labelsize' : 12,
  'ytick.labelsize' : 12}
  
  
  plt.style.use(plotStyleDict)
  
  dataDict = {'Year': ['1st Year','2st Year','3rd Year','4th Year'],
              'ERRh': [0, 0.71, 0.46, 0.35],
              'HRRh': [0.0, 0.66, 0.33, 0.14],
              'EREh': [0.0, 0.38, 0.20, 0.11],
              'ERRc': [1.2, 1.62, 2.04, 0.04],
              'HRRc': [1.36, 2.27, 4.83, 0.09],
              'EREc': [150, 120, 90, 70]}
  
  # Create a dataframe
  dfDataTest=pd.DataFrame.from_dict(dataDict, orient='columns', dtype=None, columns=None)
  # Set Year column as index
  dfDataTest.index = dfDataTest.Year 
  # delete Year column
  dfDataTest.drop('Year', inplace = True, axis=1) 
  
  
  # To rename df columns with Greek symbols to be easier to show them as legends on the plot
  orig_cols = ['ERRh', 'HRRh','EREh','ERRc', 'HRRc', 'EREc']
  rename_cols = [r'$\eta_{ER,h}$', r'$\eta_{HR,h}$', r'$\eta_{th,h}$',r'$\eta_{ER,c}$',
               r'$\eta_{HR,c}$',r'$\eta_{th,c}$']
  rename_dict = dict(zip(orig_cols, rename_cols))
  
  # Bar plot  the dataframe with last 3 columns being on secondary axis
  ax1FunEnergy = dfDataTest [orig_cols].rename(columns=rename_dict).\
                                plot(kind='bar',color=['firebrick','red', 'darksalmon','darkblue','blue','royalblue'], 
                                figsize=(16,6), edgecolor=['black','black','black','black','black','black'],
                                stacked=False, secondary_y= [r'$\eta_{ER,c}$', r'$\eta_{HR,c}$',r'$\eta_{th,c}$'])
  
  
  plt.xticks(rotation=30, horizontalalignment=&quot;center&quot;)
  plt.title(&quot;Energy &amp; Hydraulic Recoveries for Heating and Cooling&quot;,fontsize=18, weight='bold')
  
  ax1FunEnergy.set_ylabel(r'$\eta_{ER,h} , \eta_{HR,h}  , \eta_{th,h}   [-]$')
  ax1FunEnergy.right_ax.set_ylabel(r'$\eta_{ER,c} , \eta_{HR,c}  , \eta_{th,c}  [-]$')
  
  plt.grid(True)
      
  plt.show()
  
  </code></pre>
  <p>This results into the following plot:</p>
  <p><a href="https://i.stack.imgur.com/5bg6D.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/5bg6D.png" alt="enter image description here" /></a></p>
  <p>The last column scale is too large compared to the rest. So the other two columns plotted on the secondary Y axis are barely visible. So my questions are as follows:</p>
  <ol>
  <li>Is there a way to add an additional (3rd) Y-axis to the bar plot to plot the last column on?</li>
  <li>If it is possible, how to move the last column name from the secondary Y-axis label to the 3rd Y-axis label while keeping the other plotting settings such as bar color, edge, etc.?</li>
  <li>How can I specify all Y-axis limits and y-axis ticks font size and weight?</li>
  </ol>
  <p>Thanks in advance! :)</p>