为什么我不能删除 pyplot 刻度标签?

时间:2021-01-18 15:42:33

标签: python matplotlib

为什么不ax1.set_yticks([])plt.yticks([])plt.setp(ax1.get_yticklabels(),visible=False) plt.gca().set_yticks([]),也没有 plt.tick_params(left=False,bottom=False,labelleft=False,abelbottom=False) 删除此图中的刻度数?

import numpy as np
import matplotlib.pyplot as plt
xscalespace=np.logspace(1, 6, num=6)
fig, (ax1, ax2) = plt.subplots(2, sharey=False, figsize=(5,5))
frequenz = np.exp(np.linspace(0,1,11)*20)#dummy lines doesn't matter
amplitude   = np.exp(-np.linspace(0,1,11))#they don't matter
plt.sca(ax1)
plt.xscale('log')
plt.yscale('log')
ax1.plot(frequenz,amplitude/15,"*",label="plot",color="green")
plt.legend()
plt.grid()
plt.ylim(0.1, 1) 
ax1.set_yticks([])
plt.yticks([])
plt.setp(ax1.get_yticklabels(),visible=False)
plt.gca().set_yticks([])
plt.tick_params(left=False,
                bottom=False,
                labelleft=False,
                labelbottom=False)

我问的原因是,我正在设置自己的标签,但它们与这些不可删除的标签产生了冲突。我已经尝试了一切,但似乎没有任何效果。

this is what I get

1 个答案:

答案 0 :(得分:0)

您可以尝试从 setp 函数中指定 xticks 和 xticklabels 以强制删除标签

     plt.setp(ax1, xticks=[1,2,3,4,5],
     xticklabels=['','','','',''],
     yticks=[1,2,3,4,5],
     yticklabels=["",'','',''])