比特币作为全球最受欢迎的数字货币,其价格波动备受关注,本文将详细介绍如何利用Python爬虫和matplotlib库获取并绘制比特币实时价格曲线图,帮助读者更好地把握比特币市场动态。
获取实时价格信息
要获取比特币实时价格,我们可以使用Python的网络请求库requests来调用相关API,以下是一个简单的示例:
import requests import json 指定API地址 url = "https://api.coinbase.com/v2/prices/BTC-USD/spot" 发起网络请求,获取数据 response = requests.get(url) data = json.loads(response.text) 提取实时价格 price = data['data']['amount'] print("比特币实时价格为:", price)
绘制实时价格曲线图
为了更直观地观察比特币价格的实时变化,我们可以利用matplotlib库绘制价格曲线图,以下是一个示例代码:
import matplotlib.pyplot as plt import matplotlib.animation as animation from datetime import datetime 初始化价格列表和时间列表 prices = [] times = [] 更新函数,用于绘制价格曲线图 def update(frame): # 获取实时价格和时间 url = "https://api.coinbase.com/v2/prices/BTC-USD/spot" response = requests.get(url) data = json.loads(response.text) price = data['data']['amount'] now = datetime.now().strftime('%Y-%m-%d %H:%M:%S') # 更新价格列表和时间列表 prices.append(price) times.append(now) # 绘制价格曲线图 plt.cla() # 清除当前图像 plt.plot(times, prices) plt.title('比特币实时价格曲线图') plt.xlabel('时间') plt.ylabel('价格(美元)') plt.xticks(rotation=45) # 旋转x轴标签,避免重叠 创建动画对象 ani = animation.FuncAnimation(plt.gcf(), update, interval=60000) # 每分钟更新一次 显示图形 plt.show()
在这个示例中,我们使用了matplotlib的animation模块来实现价格的实时更新,程序运行后,将显示一个实时更新的比特币价格曲线图。
绘制历史价格曲线图
除了实时价格,我们还可以获取比特币的历史价格数据,并绘制历史价格曲线图,这里我们使用pandas库来处理数据,使用matplotlib绘制曲线图。
我们需要获取比特币历史价格数据,以下是一个示例:
import pandas as pd 指定历史价格API地址 url = "https://api.coinbase.com/v2/prices/BTC-USD/historic" 获取数据 response = requests.get(url) data = json.loads(response.text) 解析数据,创建DataFrame df = pd.DataFrame(data['data']['prices']) 转换时间戳为可读格式 df['time'] = pd.to_datetime(df['time'], unit='ms') 设置时间列为索引 df.set_index('time', inplace=True) 保存数据到CSV文件(可选) df.to_csv('bitcoin_history_price.csv')
接下来,我们使用matplotlib绘制历史价格曲线图:
import matplotlib.pyplot as plt 读取历史价格数据(如果之前保存到了CSV文件) df = pd.read_csv('bitcoin_history_price.csv', index_col='time', parse_dates=True) 绘制历史价格曲线图 plt.figure(figsize=(10, 5)) # 设置图像大小 plt.plot(df.index, df['price']) plt.title('比特币历史价格曲线图') plt.xlabel('时间') plt.ylabel('价格(美元)') plt.xticks(rotation=45) # 旋转x轴标签,避免重叠 显示图形 plt.show()
通过以上步骤,我们可以获取比特币实时价格和历史价格数据,并利用matplotlib库绘制出相应的价格曲线图,这将有助于我们更好地了解比特币市场动态,为投资决策提供参考。
本站提醒:投资有风险,入市须谨慎,本内容不作为投资理财建议。