有没有一种方法可以在一个命令而不是 3 个单独的行中指定 matplotlib 图中的 x y 和 z 限制?
Is there a way to specify x y and z limits in matplotlib plots in one command instead of 3 separate lines?
我正在开发一个程序,需要在 matplotlib 中自动从 2D 绘图切换到 3D 绘图。所以我正在寻找一种方法来避免在 2 和 3d
之间做出很多 if 语句的决定
我查看了此处的帖子以及 matplotlib 文档页面,但没有找到任何内容
目前绘图轴限制使用
设置
ax.set_xlim(minvals[0],maxvals[0])
ax.set_ylim(minvals[1],maxvals[1])
然后如果它是 3D 我有一个单独的列表
ax.set_xlim3d(min_vals[0],max_vals[0])
ax.set_ylim3d(min_vals[1],max_vals[1])
ax.set_zlim3d(min_vals[2],max_vals[2])
对于 2d 或 3d,有一种方法可以得到类似 ax.set_lims(min_vals, max_vals) 的东西似乎是合乎逻辑的。有办法吗?
你总是可以只定义一个函数:
def set_lims(ax, minvals, maxvals):
ax.set_xlim(minvals[0], maxvals[0])
ax.set_ylim(minvals[1], maxvals[1])
if len(minvals) == 3:
ax.set_zlim3d(minvals[2], maxvals[2])
像这样使用方法.set(**kwargs)
:
ax.set(**{'xlim3d': [min_vals[0],max_vals[0]], \
'ylim3d': [min_vals[1],max_vals[1]], \
'zlim3d': [min_vals[2],max_vals[2]]})
通常当你想设置 属性 xxxx
和 .set_xxxx()
时,你使用:
ax.set_xxxx(some_value)
加上我上面解释的.set(**kwargs)
,加上.set_xxxx(some_value)
后,就变成了:
ax.set(**{'xlim3d': [min_vals[0],max_vals[0]], \
'ylim3d': [min_vals[1],max_vals[1]], \
'zlim3d': [min_vals[2],max_vals[2]], \
'xxxx': some_value})
我正在开发一个程序,需要在 matplotlib 中自动从 2D 绘图切换到 3D 绘图。所以我正在寻找一种方法来避免在 2 和 3d
之间做出很多 if 语句的决定我查看了此处的帖子以及 matplotlib 文档页面,但没有找到任何内容
目前绘图轴限制使用
设置ax.set_xlim(minvals[0],maxvals[0])
ax.set_ylim(minvals[1],maxvals[1])
然后如果它是 3D 我有一个单独的列表
ax.set_xlim3d(min_vals[0],max_vals[0])
ax.set_ylim3d(min_vals[1],max_vals[1])
ax.set_zlim3d(min_vals[2],max_vals[2])
对于 2d 或 3d,有一种方法可以得到类似 ax.set_lims(min_vals, max_vals) 的东西似乎是合乎逻辑的。有办法吗?
你总是可以只定义一个函数:
def set_lims(ax, minvals, maxvals):
ax.set_xlim(minvals[0], maxvals[0])
ax.set_ylim(minvals[1], maxvals[1])
if len(minvals) == 3:
ax.set_zlim3d(minvals[2], maxvals[2])
像这样使用方法.set(**kwargs)
:
ax.set(**{'xlim3d': [min_vals[0],max_vals[0]], \
'ylim3d': [min_vals[1],max_vals[1]], \
'zlim3d': [min_vals[2],max_vals[2]]})
通常当你想设置 属性 xxxx
和 .set_xxxx()
时,你使用:
ax.set_xxxx(some_value)
加上我上面解释的.set(**kwargs)
,加上.set_xxxx(some_value)
后,就变成了:
ax.set(**{'xlim3d': [min_vals[0],max_vals[0]], \
'ylim3d': [min_vals[1],max_vals[1]], \
'zlim3d': [min_vals[2],max_vals[2]], \
'xxxx': some_value})