gpt4 book ai didi

python - Matplotlib:共享轴上的不同刻度标签

转载 作者:行者123 更新时间:2023-11-28 18:33:28 25 4
gpt4 key购买 nike

我使用 AxesGrid 创建具有共享轴的紧密间隔的子图。这会导致轴相交处的刻度标签重叠(图 A)。为了避免这种重叠,我想删除右下轴的第一个勾号。但是,轴是共享的,因此其他轴上的第一个刻度标签也被删除(图 B)。

有没有办法在共享轴上显示不同的刻度标签?

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import AxesGrid

fig = plt.figure()
grid = AxesGrid(fig, 111, nrows_ncols=(2, 2), share_all=True)
#grid[-1].set_xticks([0.2, 0.4, 0.6, 0.8, 1.0]) # This applies to *all* axes
plt.show()

enter image description here

最佳答案

您可以从网格中获取轴句柄,它只是一个带有 ax=grid[3] 的列表,然后使用 xticks = ax.xaxis.get_major_ticks()xticks[1].label1.set_visible(False)。作为一个最小的例子,

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import AxesGrid
import numpy as np
from matplotlib.cbook import get_sample_data

#Setup figure/grid
fig = plt.figure()
grid = AxesGrid(fig, 111, nrows_ncols = (2, 2), share_all=True)

#Plot some data
f = get_sample_data("axes_grid/bivariate_normal.npy", asfileobj=False)
Z = np.load(f)
for i in range(4):
im = grid[i].imshow(Z)

#Set tick one of axis 3 in grid to off
ax = grid[3]
xticks = ax.xaxis.get_major_ticks()
xticks[1].label1.set_visible(False)
plt.draw()
plt.show()

关于python - Matplotlib:共享轴上的不同刻度标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34741805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com