【问题标题】:How can I draw the value text for a slider widget from matplotlib?如何从 matplotlib 绘制滑块小部件的值文本?
【发布时间】:2011-11-14 23:28:42
【问题描述】:

我正在使用来自 matplotlib 的滑块小部件,并且我一直在尝试使用 blit 仅更新滑块以加快动画速度,因为如果我对整个画布使用 draw() 会太慢。使用这种方法,我可以更快地动画条(虽然它看起来并不完美),但我不知道如何绘制显示在滑块旁边的滑块值。任何帮助将不胜感激。我的滑块代码是这样的:

import pylab as p
from matplotlib.widgets import Slider

axsigma  = p.axes([0.25, 0.10, 0.65, 0.03], axisbg=axcolor) 
slider1 = Slider (axsigma, 'Sigma',0.20, 18,  valinit=s0,dragging=True,  fc='blue')

canvas1=axsigma.figure.canvas

def update (val):
    canvas1.blit(axsigma.bbox)

slider1.on_changed(update)

【问题讨论】:

    标签: python slider matplotlib


    【解决方案1】:

    它完美地工作(win7 64bit mpl 1.0.0 py2.6.5):

    In [7]: f = figure()
    In [8]: ax = f.add_subplot(111)
    In [9]: sl = Slider (ax, 'Sigma',0.20, 18, valinit=0, dragging=True,  fc='blue')    
    

    它可以非常快速地手动拖动,无需进行draw()或canvas.blit()。

    【讨论】:

    • 嗯,我认为这仅用于在直接使用未更改滑块值时更新滑块值。我认为问题在于滑块值文本是一个图形文本对象,因此渲染文本的唯一方法是渲染整个图形,这正是我不想做的。现在我从滑块中删除了值文本,我正在考虑使用滑块值设置一些轴文本,但我不知道如何仅绘制轴文本。不过还是谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多