一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图形。
用matplotlib生成基本图形非常简单,只需要几行代码,但要创建复杂的图表,需要调用更多的命令和反复试验,这要求用户对matplotlib有深入的认识。
蜂鸟数据推出一个新的系列教程:Python数据可视化,针对初级和中级用户,将理论和示例代码相结合,分别使用matplotlib, seaborn, plotly等工具实现可视化。首先从matplotlib开始。
本文将介绍matplotlib的绘图基础。
1. matplotlib层次结构
学习matplotlib,首先要掌握一个核心概念:matplotlib的对象层次结构。
如果您曾经使用过matplotlib,则可能调用过类似plt.plot([1,2,3])这样的函数。这种调用隐藏了一个事实,即图表实际上是嵌套的Python对象的层次结构。这里的“层次结构”意味着每个图下面都有matplotlib对象的树状结构。
如下图所示,Figure对象是matplotlib图形最外层的容器,其中包含一个或多个Axes对象。您可以将Figure对象理解为一个盒型容器,封装了数据,几何图形和样式。Axes对象包含较小的对象,例如刻度线(xaxis/yaxis),行坐标/列坐标(xaxis/yaxis),图例(legend)和标题(title)等。所有这些图形元素都是可操作的python对象。
2. 样式
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
# 在jupyter notebook展示图表
%matplotlib inline
matplotlib提供了很多内置样式(style),也称为主题(theme),它们可以帮助用户快速创建美观的图形。
# 查看有哪些内置样式
plt.style.available
['Solarize_Light2',
'_classic_test_patch',
'bmh',
'classic',
'dark_background',
'fast',
'fivethirtyeight',
'ggplot',
'grayscale',
'seaborn',
'seaborn-bright',
'seaborn-colorblind',
'seaborn-dark',