如图1所示是网易财经展示的贵州茅台股票的历史交易数据。
图1
单击“下载数据”超链接,会弹出如图2所示的对话框,选择完成后单击“下载”按钮就可以下载数据了,所下载的数据是CSV格式。
图2
CSV(Comma-Separated Values)是以逗号分隔数据项(也被称为字段)的数据交换格式,主要应用于电子表格和数据库之间的数据交换。
提示:CSV 是文本文件,可以使用记事本等文本编辑器打开,如图2-5所示,还可以使用Excel打开,如图2-6所示。另外,可以将Excel中的电子表格另存为CSV文件,但这可能会导致数据格式丢失,例如CSV文件中的"0001"数据使用Excel打开会变为1。在Windows平台上,默认的字符集是GBK,要想使用Excel打开CSV文件且不乱码,就需要将CSV文件保存为GBK字符集。
图3
该折线图的实现代码如下:
# coding=utf-8
# 代码文件:chapter6/ch6.2.6.py
import matplotlib.pyplot as plt
import pandas as pd
plt.rcParams['font.family'] = ['SimHei'] # 设置中文字体
plt.rcParams['axes.unicode_minus'] = False # 设置负号正常显示
plt.figure(figsize=(15, 5))
f = r'data\股票的历史交易数据.xlsx'
df = pd.read_excel(f)
df2 = df.query("Date >='2021-03-01' and Date < '2021-04-01'").sort_values(by='Date') ①
# 绘制折线
plt.plot(df2['Date'], df2['Volume']) ②
plt.title('贵州茅台股票')
plt.ylabel('成交量') # 添加y轴标题
plt.xlabel('交易日期') # 添加x轴标题
plt.xticks(rotation=40)
plt.show()
代码解释如下。
图 4
该折线图的实现代码如下:
# coding=utf-8
# 代码文件:chapter6/ch6.2.7.py
import matplotlib.pyplot as plt
import pandas as pd
plt.rcParams['font.family'] = ['SimHei'] # 设置中文字体
plt.rcParams['axes.unicode_minus'] = False # 设置负号正常显示
plt.figure(figsize=(15, 5))
f = r'data\股票的历史交易数据.xlsx'
df = pd.read_excel(f)
df2 = df.query("Date >='2021-03-01' and Date < '2021-04-01'").sort_values(by='Date')
plt.title('贵州茅台股票历史OHLC折线图')
plt.plot(df2['Date'], df2['Open'], label='开盘价') ①
plt.plot(df2['Date'], df2['High'], label='最高价')
plt.plot(df2['Date'], df2['Low'], label='最低价')
plt.plot(df2['Date'], df2['Close'], label='收盘价') ②
plt.ylabel('成交量')
plt.xlabel('交易日期')
plt.xticks(rotation=40)
plt.show()
代码解释如下。
第①行和第②行绘制了4个折线图,label参数用于设置在图例中显示的折线标签。
至此,我们便可以直观地看到茅台一个月内的历史股票交易数据啦!