Python 量化数据可视化

Python 量化数据可视化可以使用 MatplotlibSeaborn 库。

安装 Matplotlib 和 Seaborn 可以在终端或命令提示符中运行:

pip install matplotlib seaborn

Matplotlib 详细内容可以参考: Matplotlib 教程

本章节主要为大家介绍 Seaborn 库的使用。


Seaborn 库

Seaborn 是一个基于 Matplotlib 的数据可视化库,专注于统计图形的绘制。

Seaborn 提供了一些高层次的界面和颜色主题,使得在 Python 中创建漂亮的统计图表变得更加容易。

Seaborn 的目标是使数据可视化变得更简单,同时也让图表更具有吸引力。

1. 统计图形的简单创建

Seaborn 提供了一系列内置的绘图函数,可以轻松地创建各种统计图形,如散点图、直方图、箱线图等。

实例

import seaborn as sns
import matplotlib.pyplot as plt

# 创建散点图
sns.scatterplot(x='sepal_length', y='sepal_width', data=iris)
plt.show()

2. 内置颜色主题

Seaborn 提供了内置的颜色主题,可以让你轻松地改变图表的外观,使其更具有吸引力。

# 使用 Seaborn 颜色主题
sns.set(style="whitegrid")

3. 数据集可视化

Seaborn 包含一些内置的数据集,可以直接用于绘图,例如,tips 和 flights 数据集。

# 使用内置数据集
tips = sns.load_dataset("tips")

4. 分类数据的可视化

Seaborn 对于分类数据的处理非常方便,可以轻松地创建分组柱状图、箱线图等。

# 创建分组柱状图
sns.barplot(x="day", y="total_bill", hue="sex", data=tips)

5. 矩阵数据的可视化

Seaborn 提供了一些专门用于可视化矩阵数据的函数,例如热力图(heatmap)。

# 创建热力图
corr_matrix = df.corr()
sns.heatmap(corr_matrix, annot=True, cmap="coolwarm")

6. 分面绘图

Seaborn 支持分面绘图,可以根据数据的子集创建多个小图,以更全面地展示数据。

# 分面绘图
sns.relplot(x="total_bill", y="tip", hue="day", col="time", data=tips)

Seaborn 提供了大量的图形选项和参数,以满足不同类型的数据可视化需求。

总体而言,Seaborn 是一个功能强大而易用的库,适用于初学者和专业数据科学家,能够帮助用户更轻松地创建具有吸引力的统计图表。如果你已经熟悉 Matplotlib,Seaborn 是一个很好的补充,可以让你更高效地进行数据可视化。


实例

接下来吗我们使用 Python 进行一个简单的量化实例,你可以结合 yfinance 获取贵州茅台(600519.SS)的股票数据,然后使用 seaborn 进行数据可视化。

以下是一个简单的例子,演示如何下载茅台股票数据,并使用 seaborn 绘制股票的收盘价走势图:

实例

import yfinance as yf
import seaborn as sns
import matplotlib.pyplot as plt

# 获取贵州茅台的股票数据
maotai_data = yf.download("600519.SS", start="2020-01-01", end="2023-01-01")

# 选取收盘价数据
closing_prices = maotai_data['Close']

# 使用 seaborn 绘制走势图
plt.figure(figsize=(12, 6))
sns.lineplot(x=closing_prices.index, y=closing_prices.values, label='Maotai Closing Prices')
plt.title('Maotai Stock Closing Prices Over Time')
plt.xlabel('Date')
plt.ylabel('Closing Price (CNY)')
plt.legend()
plt.show()

执行以上代码,输出结果为: