python - 从 mplfinance 重新绘制 Candlestick_ohlc 的最有效方法

标签 python matplotlib tkinter candlestick-chart mplfinance

我在 tkinter GUI 中有一个 pyplot 图,我正在尝试使用实时数据每秒更新 mplfinance 中的 candlestick_ohlc 图。

mySubplot = myFigure.add_subplot(111)

然后每秒使用新数据运行

mySubplot.clear()
...
repeat all axis formatting 
...
candlestick_ohlc(mySubplot, myData.values)

当只有最近发生变化的蜡烛时,重新格式化我的轴并重新绘制每根蜡烛的速度非常慢。

最有效的方法是什么?

最佳答案

就个人而言我不会使用TkinterMPLfinance来做到这一点!

这是因为:

  1. Tkinter 的帧速率非常糟糕,就像我的意思是绝对糟糕一样,您将很幸运通过使用 while 循环不断更改图像来获得 5 fps。
  2. Tkinter 陈旧且过时,并且没有 Qt 和 GTK 等其他流行 GUI 库所具有的大量有用功能。
  3. 当您不断使用 MPLfinance 生成图表时,它会非常密集,并且生成图表的速度很慢,这会导致您的交易平台变慢。
  4. 您的应用程序的文件大小将会很大。
  5. 数据可能不准确。

为了使其“实时”,我的方法是使用 cocurrent.futures 并行运行三个函数,其中一个函数将从 api 或通过网络抓取获取股票/货币/加密货币的数据(我不建议这样做,因为延迟和滞后会很高),第二个函数将用于制作烛台图,第三个函数将用于运行循环以保持 GUI 并不断更新图形的图片。变化。

对于 GUI,我可能会使用称为 pygame 的“游戏引擎”,因为它具有更高的 fps,因为它旨在制作游戏,但这将使应用程序密集,但会使 fps 更高。如果您在 tkinter 中执行此操作,您会看到随着图形变化而框架闪烁,这确实很烦人。

关于python - 从 mplfinance 重新绘制 Candlestick_ohlc 的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68067045/

相关文章:

python - Pyplot 用图像(png 或 numpy 数组)而不是文本进行注释

Python tkinter窗口背景/ Canvas 不改变颜色

python - 如何避免 tkinter GUI 卡住?

python - 如何使用 tkinter 创建消息框?

python - 如何将 gtk.ListStore 转换为列表?

python - 如何将 CSV 文件写入最近在 python 中创建的特定文件夹?

python - 在 crontab 上运行 python 脚本导致权限错误,但通过终端运行没问题

python - 如何使用 pydicom 读取所有 DICOM 属性/标签?

python - Matplotlib 分散() : Polynomial regression line

python - 使用 matplotlib.pyplot 在 python 中绘图的线条样式功能