主页 > imtoken钱包下载 > 数据可视化 - Matplotlib 生成比特币价格图表

数据可视化 - Matplotlib 生成比特币价格图表

imtoken钱包下载 2023-05-29 05:48:14

背景介绍

今天我们将学习如何在 Matplotlib 中绘制时间序列数据。时间序列数据由包含日期的数据组成。例如比特币价格实时走势,绘制过去几周的比特币价格走势。我们将学习如何以不同的方式格式化日期,以便它们更好地与我们的图表配合使用。开始吧...

入门示例

让我们首先看一个基本的时间序列图比特币价格实时走势,并格式化 x 轴上的日期显示:

from datetime import datetime,timedelta
from matplotlib import pyplot as plt
from matplotlib import dates as mpl_dates
#设置图表样式
plt.style.use('seaborn')
#读取数据
dates_x = [
  datetime(2019,7,24),
  datetime(2019,7,25),
  datetime(2019,7,26),
  datetime(2019,7,27),
  datetime(2019,7,28),
  datetime(2019,7,29),
  datetime(2019,7,30)
]
#纵轴数据y列表
y = [0,1,3,5,7,8,9]
#绘制时间序列图表
plt.plot_date(dates_x,y,lineStyle='solid')
#格式化x轴日期显示
plt.gcf().autofmt_xdate()
#指定显示的格式
date_format = mpl_dates.DateFormatter('%m/%d/%Y')
plt.gca().xaxis.set_major_formatter(date_format)
plt.tight_layout()
plt.show()

复制

运行结果:

综合示例

我们从数据文件data.csv中读取了过去一段时间比特币收盘价的数据趋势。内容大致如下:

import pandas as pd
from datetime import datetime,timedelta
from matplotlib import pyplot as plt
from matplotlib import dates as mpl_dates
from matplotlib import font_manager
from pandas.plotting import \
register_matplotlib_converters
register_matplotlib_converters()
#设置图表样式
plt.style.use('seaborn')
#读取数据
data = pd.read_csv('data.csv')
#csv文件中数据中date为str类型
#这里做处理方便展示图表时
#能够按照日期排序显示
data['Date'] = pd.to_datetime(data['Date'])
data.sort_values('Date', inplace=True)
price_date = data['Date']
price_close = data['Close']
#调用plot_date()
#显示时间序列数据图表
plt.plot_date(price_date, price_close, 
      linestyle='solid')
#格式化x轴日期显示
plt.gcf().autofmt_xdate()
zh_font = font_manager.\
FontProperties(fname='C:\\Windows\\Fonts\\msyh.ttf')
plt.title('比特币价格',fontproperties=zh_font)
plt.xlabel('日期',fontproperties=zh_font)
plt.ylabel('收盘价',fontproperties=zh_font)
plt.tight_layout()
plt.show()

复制

运行结果: