-
Notifications
You must be signed in to change notification settings - Fork 0
Matplotlib
Starslayerx edited this page Mar 20, 2021
·
19 revisions
本文档介绍Python中数据可视化,不仅仅包含Matplotlib这个库
import matplotlib.pyplot as plt
%matplotlib inline # %matplotlib widget 交互式Matplotlib有四类基础类型的对象容器:Figure、Axes、Axis、Tick。figure即图片本身,负责图形大小、位置;Axes负责坐标轴位置、绘图;Axis负责坐标轴的设�置等;Tick负责格式化样式等。下面是Matplotlib figure的组成

matplotlib绘制的图都位于figure对象中,可以使用figure方法生成一个新的图片
fig = plt.figure()此时的图为一个空白图,可以在该图上添加一个或多个子图
- 使用add_subplot添加子图
# 创建2*2个子图
ax1 = fig.add_subplot(2, 2, 1)
ax2 = fig.add_subplot(2, 2, 2)
ax3 = fig.add_subplot(2, 2, 3)agg_subplot返回Axes Subplot对象,使用这些对象可以直接在子图上调用对象的方法进行绘图,若此时直接使用plt.plot进行绘图,则会在最后创建的子图上进行绘图。
ax1.hist(np.random.randn(100), bins=20, color='k', alpha=0.4)
ax2.scatter(np.arange(30), np.arange(30) + 3*np.random.randn(30))
plt.plot(np.random.randn(50).cumsum(), 'k--') # 直接绘制在最后一个子图上
-
subplots函数
subplots函数可以绘制x*y个子图,返回一个figure对象和一个Axes对象:fig, axes = subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True,subplot_kw=None, gridspec_kw=None, **fig_kw)
- fig为figure对象,可以用来保存图片使用`fig.savefig('name')
- axes可以通过二维数组的方法来访问子图,例如axes[0,1]这样
- nrows and ncols:行和列的个数。
- sharex and sharey: 是否共享x y 轴。
- subplot_kw: 传入add_subplot的关键字参数字典,用于生成子图。
- **fig_kw:生成图片时使用的figure参数,如 figsize、facecolor等。
-
调整子图间距
subplots_adjust(left=None, bootm=None, right=None, top=None, wspace=None, hspce=None)
- left: 子图左边缘的位置
- right: 子图右边缘的位置
- bottom: 子图底部边缘的位置
- top: 子图顶端边缘的位置
- wspace: 子图只之间的宽度
- hspace: 每行子图之间padding的高度
子图之间若出现遮挡,也可以使用
tight_layout方法自动调整,也支持使用参数自行调整plt.tight_layout(pad=0.4, w_pad=0.5, h_pad=1.0)
下面是plot函数的详细介绍
plot(x, y, linestyle, linewidth, color, marker, markersize, markeredgecolor, markerfacecolor, markeredgewidth, label, alpha)其中x为x轴数值,y为y轴数值,此外也可以传入多个x1, y1, x2, y2同时绘制多个图,下面为其他参数解释:
- linestyle: 折线类型,实线、虚线和点画线等
- linewidth: 折线宽度
- marker: 为折线图添加点,并设置形状
- markersize: 点的大小
- markeredgecolor: 点的边框颜色
- markerfacecolor: 点的填充颜色
- markeredgewidth: 点的边框宽度
- label: 折线图标签
- alpha: 折线图透明度
还有绘制其他形状图形的常用函数
| 函数 | 说明 |
|---|---|
| pie | 绘制饼状图 |
| bar | 绘制柱状图 |
| hist | 绘制二维直方图 |
| scatter | 绘制散点图 |
下面是调整绘图样式的详细参数选项
| 符号参数 | 可选类型 | 说明 |
|---|---|---|
| color 线条颜色 | b | 蓝色 |
| c | 青色 | |
| g | 绿色 | |
| k | 黑色 | |
| m | 洋红色 | |
| r | 红色 | |
| w | 白色 | |
| y | 黄色 | |
| linestyle 线条样式 | - | 实线 |
| -- | 虚线 | |
| -. | 点画线 | |
| : | 点线 | |
| marker 数据点形状 | . | 点 |
| o | 圆圈 | |
| * | 星形 | |
| x | 十字 | |
| s | 正方形 | |
| p | 五角星 | |
| d | 钻石 | |
| h | 六角形 | |
| + | 加号 | |
| ^ < > | 各种三角形 | |
| 1234 | Tropod向上下左右各个方向 |
特殊属性 drawstyle='steps-post'绘制梯形图形