set_position('center')和set_position('zero')在ax.spines方面有什么区别

时间:2019-02-26 00:50:17

标签: python matplotlib

我正在尝试绘制类似this的图。

我研究了来自matplotlib的示例。

我所知道的是

  1. 左脊柱可以在笛卡尔坐标平面中充当y轴。

  2. 底部脊柱可以在笛卡尔坐标平面中扮演x轴的角色。

  3. set_position()可能会使脊椎移位。

我的问题是将脊柱(例如,“左”)置于“中心”和“零”之间有什么区别。

import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
x = np.linspace(-np.pi, np.pi, 100)
y = 2 * np.sin(x)

ax = fig.add_subplot(2, 2, 1)
ax.set_title('centered spines')
ax.plot(x, y)
ax.spines['left'].set_position('center')
ax.spines['right'].set_color('none')
ax.spines['bottom'].set_position('center')
ax.spines['top'].set_color('none')
ax.spines['left'].set_smart_bounds(True)
ax.spines['bottom'].set_smart_bounds(True)
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')

ax = fig.add_subplot(2, 2, 2)
ax.set_title('zeroed spines')
ax.plot(x, y)
ax.spines['left'].set_position('zero')
ax.spines['right'].set_color('none')
ax.spines['bottom'].set_position('zero')
ax.spines['top'].set_color('none')
ax.spines['left'].set_smart_bounds(True)
ax.spines['bottom'].set_smart_bounds(True)
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
plt.show()

0 个答案:

没有答案