在Matplotlib的共享图中删除x轴中多余的刻度标记

4

我刚刚尝试绘制一个共享x轴的图表。但是y轴上有一个多余的轴(0和1在图表边缘),我该如何去掉它?

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
plt.figure()
gs1 = gridspec.GridSpec(8, 4)
gs1.update(left=0.05, right=0.65, hspace=0)
axF = plt.subplot(gs1[0, :])
axE = plt.subplot(gs1[1, :],sharex=axF)
axPA = plt.subplot(gs1[2, :],sharex=axF)
axMiu = plt.subplot(gs1[3:7, :],sharex=axF)
axRes = plt.subplot(gs1[7, :],sharex=axF)

抱歉我不能发布图片。根据结果图,您可以看到y轴左侧或右侧存在一些重叠或冗余的坐标值。谢谢!
1个回答

1
你可以使用yaxis.set_ticks函数来定义你想要的刻度。
例如:
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import numpy as np

plt.figure()
gs1 = gridspec.GridSpec(8, 4)
gs1.update(left=0.05, right=0.65, hspace=0)

plot=[]

axF = plt.subplot(gs1[0, :])
plot.append(axF)

axE = plt.subplot(gs1[1, :],sharex=axF)
plot.append(axE)

axPA = plt.subplot(gs1[2, :],sharex=axF)
plot.append(axPA)

axMiu = plt.subplot(gs1[3:7, :],sharex=axF)
plot.append(axMiu)

axRes = plt.subplot(gs1[7, :],sharex=axF)
plot.append(axRes)

for plot_selected in plot:
    plot_selected.yaxis.set_ticks(np.arange(0.2,1.1,0.2))
    plot_selected.xaxis.set_ticks(np.arange(0.2,1.1,0.2))

plot_selected.yaxis.set_ticks(np.arange(0,1.1,0.2))



plt.show()

给出以下情节:

plot_example


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接