删除刻度标签但不删除刻度线,但保留刻度线之间的距离

时间:2018-02-08 21:43:26

标签: python matplotlib

我想删除刻度标签但保留刻度线并保持我的刻度始终如一。我尝试过使用ax.tick_params(labelleft =' off')和ax.set_yticks(np.arange(0,100,10),"")但是使用其中任何一个选项重新调整我的y轴,我不希望这种情况发生。

a1 = plt.subplot(121, adjustable='box')
a1.plot(on[:,0], on[:, 1], linewidth=0, marker=markerz[i], color=kolor[i], ms=mymark)
a1.minorticks_on()
a1.set_yticks(np.arange(0,100,10))

a2 = plt.subplot(122, adjustable='box')
a2.plot(on[:,0], on[:, 1], linewidth=0, marker=markerz[i], color=kolor[i], ms=mymark)
a2.minorticks_on()
a2.tick_params(labelleft='off')
a2.set_yticks(np.arange(0,100,10))

这就是我的情节实际上的样子。我希望某些子图共享某些轴。我试图通过删除某些刻度标签来实现这一点。我希望能够删除刻度标签而不重新缩放刻度线间距。 enter image description here

1 个答案:

答案 0 :(得分:0)

您可以为这些图设置空标记:

y_ind = np.arange(0,100,10)

plt.yticks(y_ind,['']*len(y_ind))

如果您不希望再次缩放y轴,则可以设置y轴刻度:

plt.ylim((y_ind[0],y_ind[-1]))

以下是一个例子:

import matplotlib.pyplot as plt 
import numpy as np 

d1 = np.random.rand(100)
d2 = np.random.rand(100)

plt.subplot(2,1,1)
plt.plot(d1)
plt.xticks(np.arange(0,110,10),['']*11)
plt.xlim((0,100))

plt.subplot(2,1,2)
plt.plot(d2)
plt.xticks(np.arange(0,110,10),['']*11)
plt.xlim((0,100))

enter image description here