python - 如何使用 matplotlib 删除图形轴(y 轴)
问题描述
我试图删除图中的“y”轴,我做到了。但是当我画图的时候,我发现在y轴上有一条小线(' - '),所以我不知道如何删除它。
我想删除 y 轴上的 ( - )'grid line',但我想保留 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()
结果是这样的:
解决方案
要关闭 Y 轴,请尝试以下操作:
ax1 = plt.axes()
ax1.axes.get_yaxis().set_visible(False)
它应该摆脱一切,甚至是“蜱虫”。
推荐阅读
- angular - Ngx-Indexed-db - 数据未保存在 Microsoft Edge 浏览器中,引发数据错误
- python - 如果未找到元素,脚本将不起作用
- c# - 流未打开以供阅读
- php - Sendinblue SMTP 在 CodeIgniter 中不起作用
- regex - jflex正则表达式除零以外的任何数字
- kubernetes - 如何在 Keycloak 启动时添加/修改 LDAP 用户联合
- python - 在一个 pandas 数据框中加载一个文件夹的多个带有密码的 zip 文件
- c# - 403 仅在部署时禁止重新验证
- python - 在 python 中读取文本文件时,如何解决此列表索引超出范围错误?
- java - Java - 列表