python - 课堂内情节刷新
问题描述
我正在测试交互式经纪人 api,我试图在其中实时绘制一些日期。
每次我们获得新数据时,tickPrice
都会执行 TestApp 类中的函数。在这个类中,我可以绘制和更新数据。
class TestApp(EWrapper, EClient, Plotter):
def __init__(self):
EClient.__init__(self, self)
def tickPrice(self, some_parameters):
price = we_have_the_new_price
# to plot the first time
if(self.boot_plot == False):
self.boot_plot = True
self.plotthing()
else:
print('Animate')
self.updating()
绘图类按以下方式定义:
class Plotter(object):
fig = None
sp = None
def plotthing(self):
print('plotting for the first time.')
self.fig = plt.figure()
self.sp = self.fig.add_subplot(111)
self.sp.plot(self.price, 'o-')
self.data = np.random.rand(10)
plt.show(block = False)
def updating(self):
print('updating')
self.sp.cla();
self.sp.plot(price, 'o-')
plt.show(block = False)
但是,当我运行此代码时,什么也没有发生,即,我看不到任何图像。有谁知道为什么?
解决方案
在没有看到其余代码(例如导入、您正在调用的实际语句等)的情况下,不能 100% 确定这是否是问题,但是您的 def 中有一个错字updating
:
def updating(self):
print('updating')
self.sp.cla();
self.sp.plot(price, 'o-')
plt.show(block = False)
该plot
行应该是self.sp.plot(self.price, 'o-')
,对吗?
另一个明显的答案是你的 matplotlib 后端的环境/设置有问题。如果你只是做一个简单的情节:
import matplotlib.pyplot as plt
plt.plot((0,1), (0,1))
plt.show()
这是否正确显示?如果没有,你有一个配置问题。
推荐阅读
- symfony - Safari - 由于访问控制检查,XMLHttpRequest 无法加载 X。[检查员]
- go - 不同的结构重用相同的方法
- node.js - Node JS 注销功能显示错误:`onWebTokenError: jwt malformed`
- locking - 当我们向其中添加列时,HANA 会锁定整个表吗?
- c# - 如何使用 c# 在 azure 表存储中查找 2 dateTime 之间的小时数
- java - 从具有高效时间复杂度的文件中搜索记录。文件有 10 亿条记录。带键值对
- spring-boot - Spring Boot Security - 证书 - 如果无效则拒绝连接
- c# - 如何在 C# 中读取 SSIS 包组件内部的绑定
- excel - 您可以使用逻辑应用将共享点上的 excel 文件中的数据插入 sql azure db 吗?
- azure - Azure 机器学习中的终结点不可使用