我发现#! /usr/bin/env python3
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2 * np.pi, 100)
y = 2 * np.sin(x)
fig, (ax0, ax1) = plt.subplots(nrows = 2, sharex=True)
ax0.plot(x, y)
ax1.plot(x, y)
#ax0.spines['top'].set_position(('outward', 0))
plt.show()
有些奇怪的行为。当我运行以下代码时:
ax0.spines...
它产生情节
但是,取消注释set_position()
行会产生此图
请注意,在顶部子图上,x轴已在其刻度上获取标签。这是预期的行为(并且由于我对pyplot API的误解),还是这是pyplot的错误?
请注意,这是我注意到的一个问题的最小化示例,其中包含一些更复杂的图形格式代码。虽然在这种情况下set_position()
调用没有效果,但在我的代码中,我实际上向外冲击了所有刺。然而,我在测试中发现,位置的变化似乎没有效果 - 相反,它是调用{{1}}函数的事实。
答案 0 :(得分:0)
原来这是一个本地化到matplotlib 2.0.0的问题 - 它已在2.1.0中修复