How to make two plots on the same axis with different left and right scales with Matplotlib using Python• 1 min
Plotting two variables on the same chart can be very useful to compare them against another variable.
Here is how to achieve this using Matplotlib.
# We import our libraries import matplotlib.pyplot as plt import numpy as np # Generate our sample dataset x = np.linspace(1,100) y = np.sin(2 * np.pi * x) # We create a canvas with one ax fig, ax1 = plt.subplots(1, 1, figsize=(8,4)) # We plot on our first axis ax1.plot(x, x, ls='--', alpha=0.6, c='tab:blue') # We change the labels color of our first axis ax1.tick_params('y', colors='tab:blue') # We create our second ax based on our first ax ax2 = ax1.twinx() ax2.plot(x, y, ls='--', alpha=0.6, c='tab:red') # We change the labels color of our second axis ax2.tick_params('y', colors='tab:red') # We tight the layout fig.tight_layout() # We plot plt.show()
Here you are! You now know how to plot two variables on the same plot with different y-axis scales.
More on Matplotlib
If you like what you've just read and want to know more about the Matplotlib library (e.g. how to add labels, plot different types of plots, etc...) check out the other articles I wrote on the topic, just here :