如何移除图表右侧及顶部灰色边框线并保留坐标轴?
移除图表右侧及顶部灰色边框线的解决方法
你遇到的核心问题是代码里的ax变量未定义,导致调用ax.spines时触发报错。要实现「隐藏右侧、顶部边框线,同时保留坐标轴线条」的需求,只需先获取图表的Axes对象,再设置对应边框的可见性即可,具体修正如下:
完整修正代码
plt.rcParams["figure.figsize"] = (50, 35) plotdata = pd.DataFrame(result1) # 获取绘图返回的Axes对象,后续边框操作基于此对象 ax = plotdata.plot(kind="bar") plt.legend(loc=0, prop={'size': 25}) plt.title("Actual Vs. Predicted Stratospheric Ozone Depletion", fontsize=30) plt.xticks(rotation=0) plt.xlabel("Index", fontsize=30) ax.yaxis.offsetText.set_fontsize(50) plt.ylabel("(kg CFC-11 eq.)", fontsize=30) plt.tick_params(labelsize=30) plt.grid(False) # 隐藏右侧和顶部的边框线 ax.spines["right"].set_visible(False) ax.spines["top"].set_visible(False)
关键说明
- 必须先通过
ax = plotdata.plot(kind="bar")获取Axes对象,或者用ax = plt.gca()获取当前图表的Axes,否则ax变量不存在会触发报错 spines是Matplotlib中控制图表边框的核心对象,设置set_visible(False)即可隐藏对应方向的边框线,同时不会影响x、y坐标轴的正常显示
内容的提问来源于stack exchange,提问作者Z090
相关产品推荐
相关产品推荐

