I want to project 3D data onto XY, XZ, YZ subplots with interactive shared axes.
import matplotlib.pyplot as plt
import numpy as np
fig, axes = plt.subplots(3, 1, constrained_layout=True)
n = 10000
pts = {
'X': np.random.normal(0, 1, n),
'Y': np.random.normal(0, 2, n),
'Z': np.random.normal(0, 4, n)
}
for ax, (k1, k2) in zip(axes, [('X', 'Y'), ('X', 'Z'), ('Y', 'Z')]):
ax.plot(pts[k1], pts[k2], ',')
ax.set_xlabel(k1)
ax.set_ylabel(k2)
axes[0].sharex(axes[1])
axes[1].sharey(axes[2])
plt.show()

The XY and XZ plots share the X axis limits, and the YZ and XZ plots share the Z axis limits, but how can I make it such that the XY and YZ share the Y axis limits? Maybe some syntax like axes[2].sharexy(axes[0]) exists in some fashion?