我在Python 3中遇到了奇怪的eval行为 - 当在列表推导中调用eval时,不会拾取局部变量.
def apply_op():
x, y, z = [0.5, 0.25, 0.75]
op = "x,y,z"
return [eval(o) for o in op.split(",")]
print(apply_op())
Run Code Online (Sandbox Code Playgroud)
它在Python 3中出错:
? python --version
Python 3.4.3
? python eval.py
Traceback (most recent call last):
File "eval.py", line 7, in <module>
print(apply_op())
File "eval.py", line 5, in apply_op
return [eval(o) % 1 for o in op.split(",")]
File "eval.py", line 5, in <listcomp>
return [eval(o) % 1 for o in op.split(",")]
File "<string>", line 1, in <module>
NameError: …
Run Code Online (Sandbox Code Playgroud) 当我将鼠标悬停在堆积折线图上时,它会显示不在范围内的所有线条的零。有没有办法隐藏这些值而不是向悬停工具添加噪音?
Plotly.newPlot('test', [{
line: { shape : 'vh' },
stackgroup: '1',
x: [1, 2],
y: [1, 1],
}, {
line: { shape : 'vh' },
stackgroup: '1',
x: [3, 4],
y: [2, 2],
}, {
line: { shape : 'vh' },
stackgroup: '1',
x: [3, 4, 5, 6],
y: [3, 3, 3, 3],
}], {
hovermode: 'x unified',
width: '100%',
});
Run Code Online (Sandbox Code Playgroud)
作为jsfiddle和图像:
我有一个时间序列图,伸展约 5 年,其中包含每条线跨越 6-12 个月的线。Plotly 用零填充每行,这使得悬停工具非常嘈杂。
我想隐藏每个 x 轴日期的“0 小时”条目,方法是确保 Plotly 不会用 0 填充行,或者配置工具提示来动态隐藏值。
试图弄清楚如何PeriodicCallback
安排,我写了这个脚本:
import time
import tornado.ioloop
t0 = time.time()
def foo():
time.sleep(1)
print(time.time() - t0)
tornado.ioloop.PeriodicCallback(foo, 2000).start()
tornado.ioloop.IOLoop.instance().start()
Run Code Online (Sandbox Code Playgroud)
我预计它会每2秒或每3秒触发一次,具体取决于龙卷风是否等到完成以安排下一个事件.但是,我得到了这个:
3.00190114975
6.00296115875
10.0029530525
14.0029621124
18.0029540062
22.0050959587
26.0040180683
30.005161047
34.0053040981
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?