Как удалить ось фигуры (ось y) с помощью matplotlib - PullRequest
0 голосов
/ 05 мая 2020

Я пытался удалить ось «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

1 Ответ

0 голосов
/ 05 мая 2020

Чтобы выключить ось Y, попробуйте следующее:

ax1 = plt.axes()
ax1.axes.get_yaxis().set_visible(False)

Он должен избавиться от всего, даже от «галочки».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...