把下面这段代码改成同时动态显示图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()
时间: 2023-12-31 18:04:39 浏览: 121
以下是修改后的代码,可以同时动态显示图:
```
import matplotlib.pyplot as plt
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, (ax1, ax2) = plt.subplots(2, 1)
for i in aa:
ax1.clear()
a.append(i)
ax1.plot(a)
plt.pause(0.5)
for j in diff:
ax2.clear()
b.append(j)
ax2.plot(b)
plt.pause(0.5)
plt.show()
```
相关问题
把下面这段代码改成动态显示图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()
好的,我来帮你改写一下。下面是修改后的代码,可以实现动态展示图形:
```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` 的布局中展示,更加直观。
from pywinauto.application import Application from pywinauto.keyboard import send_keys app = Application('win32').connect(class_name_re='class TMainFrame') dlg = app.window(class_name_re='class TMainFrame') #dlg.minimize() #dlg['MouseOrder'].print_control_identifiers() """ dlg['合 约Edit2'].set_edit_text('SHFE AU 2312') dlg['合 约Edit2'].type_keys('{ENTER}') dlg['数 量Edit7'].set_edit_text('5') """ #print(dir(dlg.child_window(best_match='sell').wrapper_object())) #print(dlg['sell'].wrapper_object()) #print(dir(dlg['sell'].wrapper_object())) #print(dlg['sell'].texts()) #print(dlg['sell'].children()) #dlg['sell'].print_control_identifiers() xia_dan = dlg['sell'].rectangle() print(xia_dan)
这段代码中,`dlg['sell'].rectangle()`返回的是一个矩形区域的坐标,表示`sell`控件在窗口客户区域中的位置和大小。具体来说,返回值是一个4元组 `(L, T, R, B)`,其中 `L` 表示矩形左边界的横坐标,`T` 表示矩形上边界的纵坐标,`R` 表示矩形右边界的横坐标,`B` 表示矩形下边界的纵坐标。
你可以通过这个矩形的坐标信息来计算控件的中心坐标或者其他需要的坐标信息。比如,如果你想要获取`sell`控件的中心坐标,可以使用以下代码:
```
x1, y1, x2, y2 = dlg['sell'].rectangle()
center_x = (x1 + x2) // 2
center_y = (y1 + y2) // 2
print("sell控件中心坐标为:({},{})".format(center_x, center_y))
```
这里的 `//` 表示整除运算符,保证计算结果为整数。
阅读全文