- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试 bqplot
的 on_drag
功能。我注意到它有点滞后..我不确定这是否是
所以我的代码如下
from bqplot import pyplot as plt
import numpy as np
fig=plt.figure()
lin=plt.plot([0,1],
[0,0])
scatt1=plt.scatter([0],[0],colors=['Red'])
scatt2=plt.scatter([1],[0],enable_move=True)
plt.xlim(-3,3)
plt.ylim(-3,3)
fig.layout.height = '500px'
fig.layout.width = '500px'
plt.show()
def call_back2(name, value):
#print(value,name)
if value['point']:
X=value['point']['x']
Y=value['point']['y']
lin.x=[scatt1.x[0],(X-scatt1.x)[0]]
lin.y=[scatt1.y[0],(Y-scatt1.y)[0]]
scatt2.on_drag_start(call_back2)
scatt2.on_drag(call_back2)
scatt2.on_drag_end(call_back2)
这只是连接的两个点你可以拖动蓝色的我注意到这条线稍微落后于蓝点。
最佳答案
您不能直接拖动线上的点。您的方法是我所知道的唯一方法,因此该线将始终跟随散点。我无法让您的代码运行得明显更快。
from bqplot import pyplot as plt
import numpy as np
fig = plt.figure()
lin=plt.plot([0,1],
[0,0])
scatt1=plt.scatter([0],[0],colors=['Red'])
scatt2=plt.scatter([1],[0],enable_move=True)
# scatt2.update_on_move = True
plt.xlim(-3,3)
plt.ylim(-3,3)
fig.layout.height = '500px'
fig.layout.width = '500px'
plt.show()
def call_back2(name, value):
# with lin.hold_sync():
lin.x=[lin.x[0], value['point']['x']]
lin.y=[lin.y[0], value['point']['y']]
# scatt2.on_drag_start(call_back2)
scatt2.on_drag(call_back2 )
# scatt2.on_drag_end(call_back2)
其实是可以做到的。使用jslink。这些性状必须具有相同的类型和长度/大小。在本例中,线条和散点标记的“x”和“y”特征是长度为 2 的数组。
from bqplot import pyplot as plt
from ipywidgets import jslink
fig = plt.figure()
# Strange bug when 1st point is 0,0. Red point flickers.
lin=plt.plot([0.0001,1],
[0.0001,0])
scatt2=plt.scatter(lin.x, lin.y, enable_move = True, colors = ['Red','blue'])
scatt2.update_on_move = True
# Cover up 1st point so it can't be moved.
# Just remove this line if you want both points to be moveable
scatt3=plt.scatter([lin.x[0]], [lin.y[0]], colors = ['Red'])
plt.xlim(-3,3)
plt.ylim(-3,3)
fig.layout.height = '500px'
fig.layout.width = '500px'
plt.show()
jslink((scatt2, 'x'), (lin, 'x'))
jslink((scatt2, 'y'), (lin, 'y'))
Jslink 不需要 Python 内核即可实现交互性。您可以通过以下方式创建 html 文件(和 js 目录):
import ipyvolume.embed
ipyvolume.embed.embed_html("bqplot.html", fig, offline=True, devmode=False)
关于python - bqplot:性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46495049/
我正在尝试 bqplot 的 on_drag 功能。我注意到它有点滞后..我不确定这是否是 真正的问题 我做了一些不恰当的事情 按照本来的样子工作 所以我的代码如下 from bqplot impor
我有一个 Pandas 数据框 (df),有 4 列,分别命名为“name”、“nb”、“a”和“b”,它们用他的名字、他的 ID 号(“nb”)和一些值来表征一个人( 'a' 和 'b') 关联。
我是 bqplot 的新手.试图弄清楚如何调整图形的大小。我尝试了以下两种方法,稍微修改了示例代码: fig = Figure(marks=[line], axes=[ax_x, ax_y], tit
我正在开发基于 jupyter 的仪表板进行数据分析,并计划使用 bqplot 绘制数据。仪表板的部分规范是能够调整轴以放大/缩小数据。到目前为止,我已经能够让它动态更新,而无需完全重新加载图形。有没
我使用 bqplot 在 Jupyter notebook 中创建了多个绘图。这些图已使用 Jupyter 小部件 HBox 和 VBox 布局属性进行排列。但是,我无法弄清楚如何在子图行之间获得紧凑
我是一名优秀的程序员,十分优秀!