文章目录
前言
本文章为天池“数据可视化”小组学习的Task01-学习日志,旨在初步了解Matplotlib,对其基础绘图有一定的了解,以及初步了解matplotlib基本原理。
学习网址添加链接描述:添加链接描述
一、matplotlib是什么?
1.Matplotlib是一个Python 2D绘图库,能够以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形,用来绘制各种静态,动态,交互式的图表。 2.Matplotlib可用于Python脚本,Python和IPython Shell、Jupyter notebook,Web应用程序服务器和各种图形用户界面工具包等;pandas和seaborn的绘图接口其实也是基于matplotlib所作的高级封装。二、Figure的组成
一个完整的matplotlib图像通常会包括以下四个层级,这些层级也被称为容器(container):
- Figure
:顶层,用来容纳所有绘图元素
- Axes
:matplotlib宇宙的核心,容纳了大量元素用来构造一幅幅子图,一个figure可以由一个或多个子图组成
- Axis
:axes的下属层级,用于处理所有和坐标轴,网格有关的元素
- Tick
:axis的下属层级,用来处理所有和刻度有关的元素
下图为一张曲线图所包含元素的四个级:
三、绘制一张简单的图
1.引入库
代码如下:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
2.绘图
2.1通过pyplot.subplots绘图
Matplotlib的图像是画在figure(如windows,jupyter窗体)上的,每一个figure又包含了一个或多个axes(一个可以指定坐标系的子区域)。最简单的创建figure以及axes的方式是通过pyplot.subplots
命令,创建axes以后,可以使用Axes.plot
绘制最简易的折线图。
代码如下:
fig, ax = plt.subplots() # 创建一个包含一个axes的figure
ax.plot([1, 2, 3, 4], [1, 4, 2, 3]) # 绘制图像
plt.show()
结果如下:
2.2 通过plt.plot绘图
如果未指定axes,通过plt.plot绘图matplotlib会帮你自动创建一个。所以上面的例子也可以简化为以下这一行代码
代码如下:
plt.plot([1, 2, 3, 4], [1, 4, 2, 3])
plt.show()
补充:
1.常见图形
#单条线:
plot([x], y, [fmt], data=None, **kwargs)
#多条线一起画
plot([x], y, [fmt], [x2], y2, [fmt2], …, **kwargs)
可选参数[fmt] 是一个字符串来定义图的基本属性如:颜色(color),点型(marker),线型(linestyle),
具体形式 fmt = ‘[color][marker][line]’
fmt接收的是每个属性的单个字母缩写
若属性用的是全名则不能用fmt参数来组合赋值,应该用关键字参数对单个属性赋值
2.常见fmt参数
(1)颜色参数
(2)点型参数
(3)线型参数
学习网址:添加链接描述
四. 两种绘图接口
1.OO模式(object-oriented style)
代码如下:
ax.plot(x, x, label='linear')
ax.plot(x, x**2, label='quadratic')
ax.plot(x, x**3, label='cubic')
ax.set_xlabel('x label')
ax.set_ylabel('y label')
ax.set_title("Simple Plot")
ax.legend()
plt.show()
2.依赖pyplot接口
代码如下:
x = np.linspace(0, 2, 100)
plt.plot(x, x, label='linear')
plt.plot(x, x**2, label='quadratic')
plt.plot(x, x**3, label='cubic')
plt.xlabel('x label')
plt.ylabel('y label')
plt.title("Simple Plot")
plt.legend()
plt.show()