可视化是数据分析的核心环节。仅仅收集、处理和分析数据是不够的,还需要将发现以直观的方式展示出来。数据应当讲述一个故事,而缺乏视觉呈现的数据往往显得枯燥。人类主要通过视觉获取信息,正如俗话所说'一图胜千言'。醒目的图表更容易吸引注意力并传达关键信息。
作为数据科学和机器学习领域最流行的编程语言,Python 提供了丰富的可视化解决方案。本章将重点学习使用最著名的 Python 可视化库 Matplotlib。其他大多数 Python 可视化库(如 Seaborn)通常构建在 Matplotlib 之上或与其有相似的绘图方法。
一、Matplotlib 概述
Matplotlib 是第一个用于绘制数据图表的主要 Python 库。它是世界上使用最广泛的 Python 可视化解决方案之一。Matplotlib 支持绘制多种类型的图表,包括折线图、柱状图、散点图和直方图等常用类型。此外,它还有许多扩展模块可用于天文、地理或科学数据的可视化。
Matplotlib 通常随 Anaconda 发行版自带。只需导入 pyplot 模块即可开始使用。新建 Jupyter Notebook 文件后,执行以下导入操作:
import matplotlib.pyplot as plt
Matplotlib 是一个庞大的库,我们通常不需要导入全部功能,只需导入主要的 pyplot 模块即可。
二、折线图 (Line Chart)
首先通过一个简单的案例介绍 Matplotlib 的基本用法。创建两个包含数值的列表作为坐标数据:
x = [2, 5, 7]
y = [2, 7, 3]
为了画线,需要将各个点连接起来。每个点对应 x 和 y 坐标。使用 Matplotlib 的 plot() 函数绘制折线图:
plt.grid(True)
plt.plot(x, y, marker="o")
plt.grid(True) 用于显示网格,帮助观察坐标对应关系。参数 marker="o" 表示在数据点上显示圆形标记。如果去掉该参数,将只显示连接线。
plt.plot() 函数非常灵活,可以接收任意两个迭代变量(如列表、元组、Pandas Series 或 NumPy 数组)作为 x 和 y 坐标。它还支持多种样式和颜色参数。
1. 颜色设置
颜色可以通过首字母缩写、完整名称、HEX 代码或 RGB 格式传入:
# 使用首字母
plt.plot(x, y, color="b") # Blue
plt.plot(x, y, color="r") # Red
plt.plot(x, y, color="g") # Green
# 使用完整名称
plt.plot(x, y, color="blue")
plt.plot(x, y, color="red")
# 使用 HEX 代码
plt.plot(x, y, color="#F08080") # LightCoral


