比特币实时价格曲线图(比特币实时价格曲线图)
比特币作为全球最受欢迎的数字货币,其价格波动备受关注,本文将详细介绍如何利用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库绘制出相应的价格曲线图,这将有助于我们更好地了解比特币市场动态,为投资决策提供参考。