<p>可以在绘图中创建其他轴,这些轴跨越两个绘图,但只有一个左y轴,没有记号和其他装饰。只设置了一个ylabel。这会使整个事情看起来很协调。在</p>
<p><a href="https://i.stack.imgur.com/JIkeY.png" rel="noreferrer"><img src="https://i.stack.imgur.com/JIkeY.png" alt="enter image description here"/></a></p>
<p>好在你可以利用你现有的熊猫基地。缺点是超过15行代码。在</p>
<pre><code>import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
df = pd.DataFrame(np.random.rand(26,4), columns=list("ABCD"))
axes = df.plot(subplots=True)
fig = axes[0].figure
gs = gridspec.GridSpec(4,2)
gs.update(left=0.1, right=0.48, wspace=0.05)
fig.subplots_adjust(left=.2)
for i, ax in enumerate(axes):
ax.set_subplotspec(gs[i,1])
aux1 = fig.add_subplot(gs[:2,0])
aux2 = fig.add_subplot(gs[2:,0])
aux1.set_ylabel("G1")
aux2.set_ylabel("G2")
for ax in [aux1, aux2]:
ax.tick_params(size=0)
ax.set_xticklabels([])
ax.set_yticklabels([])
ax.set_facecolor("none")
for pos in ["right", "top", "bottom"]:
ax.spines[pos].set_visible(False)
ax.spines["left"].set_linewidth(3)
ax.spines["left"].set_color("crimson")
plt.show()
</code></pre>