Plot 球拍实时绘图/图表
我想用球拍制作一张实时图表。我已经看过Plot和GUI库,似乎我遗漏了一些东西。调用plot时,它返回图像剪切%或其他多种图片格式。但我似乎找不到任何方法在不再次调用plot的情况下从图表中添加或删除点。现在我想我可以用这样的方法Plot 球拍实时绘图/图表,plot,graph,charts,racket,real-time-updates,Plot,Graph,Charts,Racket,Real Time Updates,我想用球拍制作一张实时图表。我已经看过Plot和GUI库,似乎我遗漏了一些东西。调用plot时,它返回图像剪切%或其他多种图片格式。但我似乎找不到任何方法在不再次调用plot的情况下从图表中添加或删除点。现在我想我可以用这样的方法 但是,我必须重新实现所有的操纵机制,来与剪断%。现在,我可能不得不这么做,但我想问的是,是否有任何现有的机制可以让你在创建一个plot snip%后操作它的图形和数据,或者每次我想改变它的外观时,我都必须手动重新绘制它?另外,有没有任何现有的工作,已经做了实时图表在
但是,我必须重新实现所有的操纵机制,来与剪断%。现在,我可能不得不这么做,但我想问的是,是否有任何现有的机制可以让你在创建一个plot snip%后操作它的图形和数据,或者每次我想改变它的外观时,我都必须手动重新绘制它?另外,有没有任何现有的工作,已经做了实时图表在球拍一般 在深入研究Rackets OOP和gui库之后,我最终发现(并理解)了plot/dc,文档声称它可以用于此类应用程序: 在渲染时,它似乎比动画画布工作得更好,但我仍然需要重新实现缩放和单击以及剪贴%s附带的所有功能,除非有人有更好的想法
#lang racket
(require racket/gui plot racket/draw)
(define num 0)
(define f (new frame% [label "Test graph"]
[width 200]
[height 200]))
(define c (new canvas% [parent f]))
(send f show #t)
(define (loop)
(set! num (add1 num))
(plot/dc (function sin (- pi) num)
(send c get-dc)
0 0
(- (send f get-width) 40) ;; figure out how to get the actual size of the text outside the graphs boarder?
(- (send f get-height) 40)
#:title "Graph"
#:x-label "num"
#:y-label "sin"
)
(sleep/yield .2)
(loop))
(loop)