Python学习笔记(11-1):matplotlib绘图——图形语法

本文介绍了Python中matplotlib库的基础绘图语法,包括图形属性参数、画布与子图的使用,以及图片保存的方法。详细讲解了plt.figure()、plt.subplot()、plt.subplots()等函数的用法,并给出了实例演示。
摘要由CSDN通过智能技术生成

在这里插入图片描述

文章导读

 - 课程难度:★★☆☆☆
 - 重要度:★★★★★
 - 预计学习时间:40分钟
 - 简介:本节主要讲解了使用matplotlib绘图的基本图形语法,包括:(1)使用简单的例子展示基础绘图的步骤;(2)设置图像的基础参数和属性,如图例、x轴、y轴和图像的名称等;(3)基于定义画布、绘制子图和figure、axes对象的画布与子图的设置;(4)使用函数plt.savefig()保存图像。
 - 重点涉及的函数和内容:plt.show()、plt.savefig()、plt.figure()、plt.subplot()、plt.subplots()、plt.xlabel()、plt.ylabel()、plt.title()、plt.legend()。

前言

这部分我们只讲解一个最基础的matplotlib库,但这就足够了。因为另外一些应用广泛的包,例如seaborn也是基于matplotlib进行封装的,而plotly虽然能绘制动态图,但是它的应用则受到诸多限制。
我们首先用最基本的图形描述其在matplotlib下的基础图形语法,接着讲解其通用的一些参数。然后,我们会延伸一些例子,面向各种需要实现常用图表的绘制。
在此,先导入包和我们这边会用到的一些数据集:

import matplotlib.pyplot as plt
import matplotlib
import numpy as np
import pandas as pd

一、matplotlib图形语法

对于一个图而言,它的绘制遵循着如下的步骤。这些步骤实际上可看做执行一批设置绘图参数的指令,但这种执行指令的过程都是利用函数而不是传递参数而实现的:

(1)声明一个即将绘制的画布(可选) - Figure对象,在绘制子图时讲解。
(2)声明当前即将绘制的子图(可选) - Axe对象,在绘制子图时讲解。
(3)在当前的子图下声明即将绘制的图的类型,以及待用的数据。
(4)在当前绘图的类型下,声明绘图的各类参数(可选)。
(5)定义好各个参数后,将当前的绘图对象输出或保存。

1、基础绘图

实现一个最基础的绘图可以说轻而易举,我们只需要三步:定义待绘制数据、调用绘图函数、将图输出:

x = np.linspace(0, 2, 10)		# 生成一个自0到2的等差数列,包含100个元素
plt.plot(x, x) 				
# 声明当前绘图的类型,一般的折线图(plot),即连续的各点间的连线图。

plt.show()					# 将曲线输出

绘图效果如下。这里先补充讲解一下,如果传入的是plot(x),那么绘制曲线x时横坐标设置为range(len(x)),而传入plot(x,y)时曲线的横坐标为x,纵坐标为y。
在这里插入图片描述
matplotlib的整套基础语法知识:

(1)`plt`作为一个函数库,实际上管理着我们的图形对象,我们在此是直接用类方法管理着图形属性,也可以用当前画布和子图对象来管理(之后会讲)。
(2)在绘图前需要定义画布和子图,但步骤可省。如果当前没有定义二者而直接调用了绘图函数,就会默认定义一个画布,这张画布包含唯一一个子图。
(3)对于细节参数,例如X、Y轴的名称标度、曲线的颜色等等,可以不予定义,将会默认值进行输出。
(4)作为程序的最后一步,当`plt.show()`被调用后,会将当前已经定义好的图形全部输出,同时清空已经当前的图形对象。

2、图形属性参数

接下来,我们为数据补充两个部分,一是绘制多根曲线并指定一些图形参数,二是增加一些图形属性。我们还是手工定义待绘制的数据:

x = np.linspace(0, 2, 10)

我们同时绘制一次、二次和三次曲线,同时设置曲线的图例(label)。而且,不仅绘制对应数据列的曲线图,也同时在当前图像上绘制数据的散点图:

plt.plot(x, x, label='linear')					# 用plt.plot()绘制数据的连线图
plt.plot(x, x**2, label='quadratic')			# label是曲线的名称
plt.plot(x, x**3, label='cubic')

plt.scatter(x, x, label='linear')				# 用plt.scatter()绘制数据的散点图
plt.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值