哇,这里有三个问题。
哪里是
SubplotZero()
文档?
目前还没有记录,因为它是
AxesZero
,它通过
SubplotZero = matplotlib.axes.subplot_class_factory(AxesZero)
斧零
也没有文档记录,但至少出现在文档中。
总的来说
mpl_toolkits.axisartist
文件记录很差,在当前文件中完全缺失。但也可以指
older version
或
current devdocs
.
在以后的版本中不应该删除它。
为什么
TypeError
?
误差
TypeError: 'method' object is not subscriptable
告诉您无法索引方法。
这发生在这里
axis
A的
SubplotZero
,这是一个
mpl_toolkits.axisartist.axislines.AxesZero
,与“平常”完全不同
matplotlib.axes.Axes
. 前者提供它的单个轴作为字典的一部分,它可以被访问为
ax.axis["xzero"]
. 后者是一种方法,需要调用它并对轴进行一些修改,例如。
ax.axis("off")
关闭轴。他们两个都有一个特点,真是很不幸
轴
,最后提到完全不同的东西。
如何在零位置创建轴?
而
mpl_工具包.axisArtist
模块提供了如下所示的功能
example
,使用该模块是公认的(由于缺少/不完整的文档)相当麻烦。
另一种选择是使用普通的
matplotlib.axes.axes轴
. 把脊柱放在零位可以参考
Spine placement demo
.
要重新创建Xaxis脊椎位于零Y位置的链接示例,例如
ax.spines['bottom'].set_position(('data', 0))
使用普通的
matplotlib.axes.axes轴
实例
ax
.
完整示例:
import numpy as np
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.set_title('x axis spine at zero data coordinate')
x = np.arange(0, 2*np.pi, 0.01)
ax.plot(x, np.sin(x))
ax.set_xlabel("Axes zero")
ax.spines['bottom'].set_position(('data', 0))
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
plt.show()