Gri*_*iff 5 python axes matplotlib
在NxM子图的面板中是否有任何方法只显示左列和底行的轴.
A|N|N|N
A|N|N|N
A|N|N|N
A|A|A|A
Run Code Online (Sandbox Code Playgroud)
其中A =轴,N =无轴
有时我的子图是10x8,3x4,4x9等,它们都有相同的x和y轴.我只是希望它出现在该子集的最左侧和最底层.目前我必须知道它正在绘制哪个轴和做什么
if (figi-1) % 7 != 0:
ax.set_yticklabels([])
if figi < 29:
ax1.set_xticklabels([])
Run Code Online (Sandbox Code Playgroud)
我希望将此概括为任何NxM面板布置,而无需事先了解.谢谢.
编辑:我找到了一种方法来做y轴.我使用以下方法设置了面板的数量:
nwide = 12
nhigh = 5
Run Code Online (Sandbox Code Playgroud)
这意味着我可以做到
if (figi-1) % nwide != 0:
ax.set_yticklabels([])
Run Code Online (Sandbox Code Playgroud)
最底层的想法?
编辑:解决了.x轴如下:
if figi < (nwide*nhigh) - nwide:
ax.set_xticklabels([])
Run Code Online (Sandbox Code Playgroud)
最好的解决方案可能是pyplot.subplots()
. 你可以这样做:
fig, axes = pyplot.subplots(nrows=3, ncols=4, sharex=True, sharey=True)
Run Code Online (Sandbox Code Playgroud)
然后只有左轴和底轴才会显示标签。
要访问每个子图,您可以axes
像在矩阵中一样从中获取它:ax = axes[i,j]
要控制刻度位置,您可以使用:
ax.xaxis.set_tick_position('bottom')
ax.yaxis.set_tick_position('left')
Run Code Online (Sandbox Code Playgroud)
要设置轴标签,您可以执行以下操作:
ax.set_label_text('Something')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
933 次 |
最近记录: |