更新时间:2022年04月26日10时01分 来源:传智教育 浏览次数:
今天的Python培训中,我们要讲matplotlib可以只隐藏坐标轴的部分轴脊,只需访问spines属性获取相应的轴脊,之后调用set_color()方法将轴脊的颜色设为none即可, 示例代码如下。
import numpy as np import matplotlib.pyplot as plt import matplotlib.patches as mpathes xy = np.array([0.5,0.5]) polygon = mpathes.RegularPolygon(xy, 5, 0.2,color='y') ax = plt.axes((0.3, 0.3, 0.5, 0.5)) ax.add_patch(polygon) # 依次隐藏上轴脊、左轴脊和右轴脊 ax.spines['top'].set_color('none') ax.spines['left'].set_color('none') ax.spines['right'].set_color('none') plt.show()
运行程序,效果如图6-6所示。
图6-6 隐藏坐标轴的部分轴脊
从图6-6中可以看出,图表只隐藏了坐标轴的部分轴脊而没有隐藏轴脊上的刻度。
为了解决上述问题,matplotlib可以通过set_ticks_position()方法设置刻度线的颜色为'none',通过set_yticklabels()方法设置刻度标签为空列表。在上述示例调用show()函数的代码之前插入如下代码:
ax.yaxis.set_ticks_position('none') ax.set_yticklabels([])
再次运行程序,效果如图6-7所示。
图6-7 隐藏刻度标签和刻度线