把下面这段代码改成动态显示图aa=api.get_tick_serial("SHFE.hc2310",8000).last_price.values diff = [j-i for i, j in zip(aa[:-1], aa[6:])] a = [] b=[] # fig, ax = plt.subplots() for i in aa: plt.subplot(211) plt.clear() plt.plot(a) plt.pause(0.5) a.append(i) # 在a的末尾添加一个新元素,模拟a的动态变化 # plt.show() for j in diff: plt.subplot(212) plt.clear() plt.plot(b) plt.pause(0.5) b.append(j) plt.show()
时间: 2024-02-03 11:01:56 浏览: 118
好的,我来帮你改写一下。下面是修改后的代码,可以实现动态展示图形:
```python
import matplotlib.pyplot as plt
import tushare as ts
api = ts.pro_api("你的token")
aa = api.get_tick_serial("SHFE.hc2310", 8000).last_price.values
diff = [j-i for i, j in zip(aa[:-1], aa[6:])]
a = []
b = []
fig, axs = plt.subplots(2, 1)
plt.ion() # 打开交互模式
for i in aa:
a.append(i)
axs[0].clear()
axs[0].plot(a)
axs[0].set_title("SHFE.hc2310实时价格")
plt.pause(0.5)
for j in diff:
b.append(j)
axs[1].clear()
axs[1].plot(b)
axs[1].set_title("SHFE.hc2310价格变化率")
plt.pause(0.5)
plt.ioff() # 关闭交互模式
plt.show()
```
修改后的代码中,我们使用了 `plt.ion()` 打开了交互模式,并在每次更新数据后调用 `plt.pause(0.5)` 进行暂停,以实现动态展示效果。同时,我们将两个子图放在了一个 `2x1` 的布局中展示,更加直观。
阅读全文