python动态图假设你在跟踪一只股票的价格变化,数据包含时间和价格。请使用 Plotly 或 Bokeh 库生成一个动态折线图,展示股票价格的实时变化情况。请将代码和输出结果粘贴出来要求每秒钟更新一次价格,模拟一个实时的股票价格展示系统
时间: 2024-10-24 12:12:41 浏览: 34
在Python中,我们可以使用Plotly库创建一个动态的交互式折线图,来模拟股票价格的实时变化。这里我们先安装必要的库,然后编写一个简单的脚本:
首先,确保已经安装了`plotly`和`streamlit`(如果还没有安装的话),如果没有,可以运行以下命令:
```bash
pip install plotly streamlit
```
然后,我们可以开始编写代码:
```python
import plotly.express as px
import time
from datetime import datetime
# 假设这是你的股票价格数据,你可以从API获取实际数据
stock_data = [
{'time': datetime.now(), 'price': 100},
# ... 更多的时间点和对应的价格
]
def update_data():
# 模拟获取新数据(这里我们简单地增加每秒1的价格)
new_price = stock_data[-1]['price'] + 1
next_time = datetime.now() + timedelta(seconds=1)
new_data = [{'time': next_time, 'price': new_price}]
return new_data
app = st.plotly_chart(
px.line(stock_data, x='time', y='price'),
use_container_width=True,
)
while True:
new_data = update_data()
app.add_rows(new_data) # 更新数据
time.sleep(1) # 等待1秒
```
在这个脚本中,我们首先导入所需的库,然后创建一个基础的股票价格折线图。`update_data()`函数用于模拟每秒钟获取新的股票价格并添加到图表上。`st.plotly_chart`用于显示初始的静态图表,而`add_rows`则在循环中不断更新数据。
注意:这只是一个基本的示例,实际上创建真实的动态股票价格模拟需要连接到实时数据源,并且可能需要处理网络延迟等问题。此外,`timedelta`是`datetime`模块的一部分,代表时间差。
阅读全文