gpt4 book ai didi

python - Matplotlib 中经常使用的一个不寻常的 Python 语法元素

转载 作者:太空狗 更新时间:2023-10-29 22:04:20 27 4
gpt4 key购买 nike

一个附带条件:我问题的核心语法元素是 Python 语言;然而,这个元素经常出现在 Matplotlib 库中,这是我见过的唯一上下文。因此,无论是一般的 Python 语法问题还是特定于库的问题,我都不确定。我所知道的是,无论是在 Python 语言引用 还是在 Matplotlib 文档中,我都找不到任何要点。

那些使用和/或开发优秀的 Python 绘图库的人,Matplotlib 将识别下面的语法模式。 (

from matplotlib import pyplot as MPL

>>> l, = MPL.plot(s, t) # s & t are ordinary NumPy 1D arrays

这个表达式左边的结构是什么? 而且,

使用它的目的是什么?

我熟悉 Python 的赋值解包,例如,

>>> a, b = [100, 200]

我还知道在 Python 中,单项 元组 有时表示为 t,

以上第一个问题的答案都可以;如果是这样,那么我还不明白为什么这里只需要调用 plot 返回值的第一个元素。

(注意:“l”是小写的“ell”;我使用这个字母是因为 ls 是这里最常用的字母,可能是因为它绑定(bind)到以相同字母开头的对象 - 见下文) .


一些额外的上下文:

调用 plot 返回line2D 实例列表:

>>> type(l)
<class 'matplotlib.lines.Line2D'>

所以 l 是一个 line2D 类型的对象。

一旦绑定(bind)到 lines2D 对象,这个“变量”通常会在 Matplotlib 代码中看到,如下所示:

>>> l.set_color("orange")

此表达式更改表示绘图窗口内数据值的线条(“绘图线”)的颜色

下面是另一个例子;它显示了这种“可变逗号”构造的常见场景,它在 Matplotlib 绘图窗口中嵌入了小型工具包/图形后端独立小部件,例如,通过复选框打开/关闭,多个数据系列出现在绘图窗口中.

在下面的代码中,创建了一个简单的 Matplotlib 图和一个由两个复选框组成的简单小部件,每个复选框对应一个数据系列。

l0l1 再次绑定(bind)到 plot 调用;当在调用 *on_click* 时传入的自定义函数中调用它们的 get_visible 和 set_visible 方法时,两者都会出现几个留置权。

from matplotlib.widgets import CheckButtons

ax = plt.subplot(111)
l0, = ax.plot(s, t, visible=False, lw=2)
l1, = ax.plot(t, s1, lw=2)

rax = plt.axes( [.05, .4, .1, .15] )
check = CheckButtons(rax, ('raw', 'transformed'), (False, True))

def fnx(checkbox_label):
if checkbox_label == 'raw':
l0.set_visible(not l0.get_visible())
elif checkbox_label == 'transformed':
l1.set_visible(not l1.get_visible())

check.on_clicked(fnx)

plt.show()

最佳答案

sequence unpacking对于单个元素。

>>> l = [3]
>>> v, = l
>>> v
3

关于python - Matplotlib 中经常使用的一个不寻常的 Python 语法元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9731779/

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