pbr*_*ach 7 python matplotlib subplot
我试图使用倒y轴制作4个子图(2x2),同时在子图之间共享y轴.这是我得到的:
import matplotlib.pyplot as plt
import numpy as np
fig,AX = plt.subplots(2, 2, sharex=True, sharey=True)
for ax in AX.flatten():
ax.invert_yaxis()
ax.plot(range(10), np.random.random(10))
Run Code Online (Sandbox Code Playgroud)

似乎ax.invert_axis()被忽略了sharey=True.如果我设置sharey=False我在所有子图中得到一个倒y轴但显然y轴不再在子图之间共享.我在这里做错了,这是一个错误,还是做这样的事情没有意义?
sna*_*mer 14
自设置以来sharey=True,所有三个轴现在都表现得像是一个.例如,当您反转其中一个时,会影响所有四个.问题在于,你是反转的轴for,其运行在长度为4的迭代循环,从而你反转所有轴为偶数次......通过反转已经倒斧头,只需恢复其原来的方向.尝试使用奇数个子图,您将看到轴成功反转.
要解决您的问题,您应该反转一个子图的y轴(并且只反转一次).以下代码适用于我:
import matplotlib.pyplot as plt
import numpy as np
fig,AX = plt.subplots(2, 2, sharex=True, sharey=True)
## access upper left subplot and invert it
AX[0,0].invert_yaxis()
for ax in AX.flatten():
ax.plot(range(10), np.random.random(10))
plt.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7164 次 |
| 最近记录: |