为了账号安全,请及时绑定邮箱和手机立即绑定

向 matplotlib 中的图形添加文本

向 matplotlib 中的图形添加文本

撒科打诨 2022-06-22 18:11:38
我想在 3D 线框图中添加一些文本。我从matplotlib 库中这个示例的代码开始。从Axes文档中我发现了一个text(). 如果我没看错,则需要 4 个位置参数(包括self)。我将示例修改如下:from mpl_toolkits.mplot3d import axes3dimport matplotlib.pyplot as pltfig = plt.figure()ax = fig.add_subplot(111, projection='3d')# Grab some test data.X, Y, Z = axes3d.get_test_data(0.05)# Plot a basic wireframe.ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10)ax.text(0, 0, "I'm here")plt.show()当我运行这段代码时,我得到类型错误:文本()缺少 1 个必需的位置参数:'s'我该如何解决?我在这里做错了什么?
查看完整描述

2 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

在这种情况下,您不是在处理一个Axes对象,而是一个Axes3D对象。因此,您需要为其text()方法提供三个坐标编号,而不仅仅是 2。

或者,您也可以使用该text2D()方法,它只需要两个坐标数输入参数。


查看完整回答
反对 回复 2022-06-22
?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

help(ax.text)提供正确的文档:


Help on method text in module mpl_toolkits.mplot3d.axes3d:


text(x, y, z, s, zdir=None, **kwargs) method of matplotlib.axes._subplots.Axes3DSubplot instance

...

所以你需要 3 个位置坐标,没有self.


查看完整回答
反对 回复 2022-06-22
  • 2 回答
  • 0 关注
  • 210 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信