diff --git a/examples/api/two_scales.py b/examples/api/two_scales.py index ca5b4eddfbaa..8e650c6f17f8 100644 --- a/examples/api/two_scales.py +++ b/examples/api/two_scales.py @@ -17,64 +17,25 @@ import numpy as np import matplotlib.pyplot as plt - -def two_scales(ax1, time, data1, data2, c1, c2): - """ - - Parameters - ---------- - ax : axis - Axis to put two scales on - - time : array-like - x-axis values for both datasets - - data1: array-like - Data for left hand scale - - data2 : array-like - Data for right hand scale - - c1 : color - Color for line 1 - - c2 : color - Color for line 2 - - Returns - ------- - ax : axis - Original axis - ax2 : axis - New twin axis - """ - ax2 = ax1.twinx() - - ax1.plot(time, data1, color=c1) - ax1.set_xlabel('time (s)') - ax1.set_ylabel('exp') - - ax2.plot(time, data2, color=c2) - ax2.set_ylabel('sin') - return ax1, ax2 - - # Create some mock data t = np.arange(0.01, 10.0, 0.01) -s1 = np.exp(t) -s2 = np.sin(2 * np.pi * t) +data1 = np.exp(t) +data2 = np.sin(2 * np.pi * t) + +fig, ax1 = plt.subplots() + +color = 'tab:red' +ax1.set_xlabel('time (s)') +ax1.set_ylabel('exp', color=color) +ax1.plot(t, data1, color=color) +ax1.tick_params(axis='y', labelcolor=color) -# Create axes -fig, ax = plt.subplots() -ax1, ax2 = two_scales(ax, t, s1, s2, 'r', 'b') +ax2 = ax1.twinx() # instantiate a second axes that shares the same x-axis +color = 'tab:blue' +ax2.set_ylabel('sin', color=color) # we already handled the x-label with ax1 +ax2.plot(t, data2, color=color) +ax2.tick_params(axis='y', labelcolor=color) -# Change color of each axis -def color_y_axis(ax, color): - """Color your axes.""" - for t in ax.get_yticklabels(): - t.set_color(color) - return None -color_y_axis(ax1, 'r') -color_y_axis(ax2, 'b') +fig.tight_layout() # otherwise the right y-label is slightly clipped plt.show()