gpt4 book ai didi

python - matplotlib 使用单个命令将多个变量分配给轴实例

转载 作者:太空宇宙 更新时间:2023-11-04 06:19:33 24 4
gpt4 key购买 nike

有没有一种方法可以将字典传递给 axes 方法以一次设置所有实例变量,而无需调用 .set_xlim().set_ylim() 等单独?我知道 Matlab 有这个功能,我认为 Matplotlib 也有,但找不到文档。

最佳答案

plt.setp (另见 getp)。

举个简单的例子:

import matplotlib.pyplot as plt

linestyle = dict(color='red', marker='^', linestyle='--', linewidth=2)

fig, ax = plt.subplots()
line, = ax.plot(range(10))

plt.setp(ax, xlim=[-1, 12], ylim=[-5, 12], xlabel='X-axis')
plt.setp(line, **linestyle)

plt.show()

enter image description here

setpgetp 是“matlab-isms”,所以很多人认为它们是“unpythonic”的,除非绝对必要,否则不应使用。

显然,您可以通过其他方式完成所有这些操作(例如,使用 ax.axis([xmin, xmax, ymin, ymax]) 设置轴限制或只是扩展 linestyle 调用 plot 时的字典)。

不过,

setp 仍然非常有用。它会自动对艺术家序列进行操作,因此您可以执行 plt.setp([ax1, ax2, ax3], **parameters) 之类的操作。这对于 ticks 和 ticklabels 之类的东西特别方便,你经常在这些地方同时操作一群艺术家。

它还可以让 matplotlib 艺术家轻松自省(introspection)。尝试调用 plt.setp(ax) 来查看所有参数的列表或调用 plt.setp(line, 'marker') 来查看所有有效参数的列表到 line.set_marker

关于python - matplotlib 使用单个命令将多个变量分配给轴实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13376662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com