Skip to content
Advertisement

Second y-axis not showing when using matplotlib

I am trying to plot data_1 and data_2 against data (data supplied in example) using 2 y-axis on different scales. When I run my code it seems only data_2 gets plotted. I am limited to only use the matplotlib library for this. Am I missing something here?

import matplotlib
import matplotlib.pyplot as plt

data_1 = [10751, 12255, 12255]
data_2 = [143, 202, 202]
data   = [1, 2, 3]


# Create Plot
fig3, ax1 = plt.subplots()
ax1.set_xlabel('X-axis')
ax1.set_ylabel('Y1-axis', color = 'black')
plot_1 = ax1.plot(data, data_1, color = 'black')
ax1.tick_params(axis ='y', labelcolor = 'black')
# Adding Twin Axes
ax2 = ax1.twinx()
ax2.set_ylabel('Y2-axis', color = 'green')
plot_2 = ax2.plot(data, data_2, color = 'green')
ax2.tick_params(axis ='y', labelcolor = 'green')

fig3.savefig('x.png')

enter image description here

Advertisement

Answer

They are plotted over each other. Change the linestyle or axis limits to plot them differently.

enter image description here

User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement