更新时间:2022年04月26日10时36分 来源:传智教育 浏览次数:
Python培训中我们经常会讲的移动轴脊的位置,在matplotlib中,Spine类提供了一个设置轴脊位置的set_position()方法。set_position()方法的语法格式如下所示:
set_position(self, position)
该方法的position参数表示轴脊的位置,它需要接收一个包含两个元素的元组(position_type,amount),其中元素position_type代表位置的类型,元素amount代表位置。position_type支持以下任一取值。
.'outward':表示将轴脊置于移出数据区域指定点数的位置。
.'axes':表示将轴脊置于指定的坐标系中(0.0~1.0)。
.'data':表示将轴脊置于指定的数据坐标的位置。
此外,position参数还支持以下两个特殊的轴脊位置:
.'center':值为('axes',0.5)。
.'zero':值为('data',0.0)。
例如,将画布中轴脊的位置移动到中心位置,具体代码如下。
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['right'].set_color('none') # 移动轴脊的位置 ax.spines['left'].set_position(('data', 0.5)) ax.spines['bottom'].set_position(('data', 0.5)) plt.show()
运行程序,效果如图6-9所示。
图6-9 移动轴脊至画布的中心位置