如何使用matplotlib删除地物轴(y轴)

2024-07-05 15:04:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图删除图形中的“y”轴,我做到了。但是当我绘制图形时,我发现在y轴上有一条小直线(“-”),所以我不知道如何删除它

我想删除y轴上的(-)“网格线”,但我想保留ytick标签。这有什么诀窍吗

我使用了以下代码:

plt.figure(figsize=(10,15))
plt.rcParams['axes.spines.right'] = False
plt.rcParams['axes.spines.top'] = False
plt.rcParams['axes.spines.left'] = False

plt.subplot(3,1,1)


axes=campos_entre_100.iloc[:,0][::-1].plot(kind="barh",stacked=True)
ylab = plt.ylabel("ESPOL",size=19.5,color='black',rotation=0, labelpad = 140)
ylab.set_position ((-120, 0.45))
plt.tick_params(axis='y', which='major', pad=22,labelsize=20)
plt.tick_params(axis='x', which='major', pad=10,labelsize=20)
plt.gca().xaxis.grid(True,linewidth=0.41)
valor3= campos_entre_100.iloc[:,0].values
pos= np.arange(0,len(valor3))[::-1]
for id, v_1 in enumerate(valor3):
    if v_1 >=0:
        plt.text(v_1+5 , pos[id] , str(v_1).replace('.',',') , ha="center", va="center", color="black", fontsize=16)
    elif v_1 <0:
        plt.text(v_1-7 , pos[id] , str(v_1).replace('.',',') , ha="center", va="center", color="black", fontsize=16)


plt.subplot(3,1,2)

campos_entre_100.iloc[:,1][::-1].plot(kind="barh",stacked=True)
ylab = plt.ylabel("Guayaquil",size=19.5,color='black',rotation=0, labelpad = 140)
ylab.set_position ((-100, 0.45))
plt.tick_params(axis='y', which='major', pad=22,labelsize=20)
plt.tick_params(axis='x', which='major', pad=10,labelsize=20)
plt.gca().xaxis.grid(True,linewidth=0.41)
valor3= campos_entre_100.iloc[:,1].values
pos= np.arange(0,len(valor3))[::-1]
for id, v_1 in enumerate(valor3):
    if v_1 >=0:
        plt.text(v_1+5 , pos[id] , str(v_1).replace('.',',') , ha="center", va="center", color="black", fontsize=16)
    elif v_1 <0:
        plt.text(v_1-5.4 , pos[id] , str(v_1).replace('.',',') , ha="center", va="center", color="black", fontsize=16)


plt.subplot(3,1,3)

at=campos_entre_100.iloc[:,2][::-1].plot(kind="barh",stacked=True)
ylab = plt.ylabel("Litoral",size=19.5,color='black',rotation=0, labelpad = 140)
ylab.set_position ((-100, 0.45))
plt.tick_params(axis='y', which='major', pad=22,labelsize=20)
plt.tick_params(axis='x', which='major', pad=10,labelsize=20)
plt.gca().xaxis.grid(True,linewidth=0.41)
valor3= campos_entre_100.iloc[:,2].values
pos= np.arange(0,len(valor3))[::-1]
for id, v_1 in enumerate(valor3):
    if v_1 >=0:
        plt.text(v_1+2 , pos[id] ,str( v_1).replace('.',',') , ha="center", va="center", color="black", fontsize=16)
    elif v_1 <0:
        plt.text(v_1-2.5 , pos[id] ,str( v_1).replace('.',',') , ha="center", va="center", color="black", fontsize=16)


plt.show()

结果是:

enter image description here


Tags: posidtruepltparamscolorblackcenter