python中pyplot基础图标函数整理

1. 简介

Matplotlib是基于Python的2D绘图库,其pyplot模块提供了一种简单的方式来使用Matplotlib绘制各种绘图,包括线图,散点图,条形图等等。本文将介绍pyplot中常用的图形函数,并提供示例代码。

2. 线图

2.1 简单线图

使用plot()函数可以绘制简单的线图,例如:

import matplotlib.pyplot as plt

import numpy as np

x = np.arange(0, 4 * np.pi, 0.1)

y = np.sin(x)

plt.plot(x, y)

plt.show()

运行结果如下:

np.arange(start, stop, step)函数用于生成等差数列,其中start为起始值,stop为停止值(不包括该值),step为步长。

plt.plot(x, y)函数用于画线,其参数x和y为待绘制的数据序列,可以是Python列表或NumPy数组。如果只给定一个参数,则y默认为x,例如:

x = [1, 2, 3, 4]

plt.plot(x)

plt.show()

运行结果如下:

2.2 多条线图

使用plot()函数可以绘制多条线图,例如:

x = np.arange(0, 4 * np.pi, 0.1)

y1 = np.sin(x)

y2 = np.cos(x)

plt.plot(x, y1, label='Sin')

plt.plot(x, y2, label='Cos')

plt.legend()

plt.show()

运行结果如下:

plt.legend()函数用于添加图例,其中label参数指定每一条线的名称。

2.3 线性回归

使用polyfit()函数可以计算一组数据的线性回归方程,然后使用plot()函数绘制该线性方程的图像。例如:

x = [1, 2, 3, 4, 5]

y = [1.5, 3, 4.5, 6, 7.5]

model = np.polyfit(x, y, 1)

predict = np.poly1d(model)

plt.plot(x, y, 'o', label='Original Data')

plt.plot(x, predict(x), label='Linear Regression')

plt.legend()

plt.show()

运行结果如下:

np.polyfit(x, y, n)函数用于计算x和y的n次多项式回归系数,其中n为回归方程阶数。返回值是一个一维数组,其元素表示n次多项式回归的系数。在本例中,n=1表示计算一阶线性回归方程的系数。

np.poly1d()函数用于生成多项式函数,其参数为多项式系数。调用该函数返回的多项式函数,可以直接用于计算多项式的值。

3. 散点图

3.1 简单散点图

使用scatter()函数可以绘制简单的散点图,例如:

x = np.random.rand(50)

y = np.random.rand(50)

plt.scatter(x, y)

plt.show()

运行结果如下:

np.random.rand(n)函数用于生成n个随机数,其中每个数的值$0\le x<1$。

3.2 多组数据散点图

使用scatter()函数可以绘制多组数据的散点图,例如:

x1 = np.random.rand(50)

y1 = np.random.rand(50)

x2 = np.random.rand(50)

y2 = np.random.rand(50)

plt.scatter(x1, y1, color='red', label='Group 1')

plt.scatter(x2, y2, color='blue', label='Group 2')

plt.legend()

plt.show()

运行结果如下:

plt.scatter()函数可以为每组散点设置不同的颜色,参数color表示颜色名称或RGB值。

4. 条形图

4.1 简单条形图

使用bar()函数可以绘制简单的条形图,例如:

x = ['A', 'B', 'C', 'D']

y = [3, 5, 2, 7]

plt.bar(x, y)

plt.show()

运行结果如下:

4.2 多组数据条形图

使用bar()函数可以同时绘制多组数据的条形图,例如:

x = ['A', 'B', 'C', 'D']

y1 = [3, 5, 2, 7]

y2 = [4, 6, 5, 8]

plt.bar(x, y1, color='red', label='Group 1')

plt.bar(x, y2, color='blue', label='Group 2')

plt.legend()

plt.show()

运行结果如下:

plt.bar()函数可以为每组数据设置不同的颜色,参数color表示颜色名称或RGB值。

5. 饼图

5.1 简单饼图

使用pie()函数可以绘制简单的饼图,例如:

labels = ['A', 'B', 'C', 'D']

sizes = [12, 30, 15, 8]

plt.pie(sizes, labels=labels, autopct='%1.1f%%')

plt.show()

运行结果如下:

plt.pie()函数可以设置每个扇形的名称和大小,参数labels和sizes分别表示饼图的标签和大小。其他参数如下:

autopct: 控制饼图内每个扇形的数字格式,%1.1f%%表示小数点后一位,并且添加百分号;

explode: 控制每个扇形的偏移量,例如explode=(0, 0.1, 0, 0)表示第二个扇形偏移0.1个半径;

shadow: 用于绘制阴影效果;

startangle: 用于控制第一个扇形的起始角度,例如startangle=90表示从12点钟方向开始绘制饼图。

5.2 多层饼图

使用pie()函数可以绘制由多个圆环组成的饼图,例如:

labels = ['A', 'B', 'C', 'D']

sizes1 = [12, 30, 15, 8]

sizes2 = [5, 25, 10, 12]

plt.pie(sizes1, labels=labels, radius=1, wedgeprops=dict(width=0.3, edgecolor='w'))

plt.pie(sizes2, radius=0.7, wedgeprops=dict(width=0.3, edgecolor='w'))

plt.axis('equal')

plt.show()

运行结果如下:

wedgeprops=dict(width=0.3, edgecolor='w')参数用于设置每个饼块的边缘宽度和边缘颜色,width表示宽度比例,edgecolor表示边缘颜色。使用多个饼图时需要指定每个饼图的半径、标签和大小,例如radius=1、sizes1和labels用于表示外层圆环的饼图,radius=0.7用于表示内层圆环的饼图,不需要指定标签信息。

6. 结语

本文介绍了pyplot中常用的图形函数并提供示例代码,包括线图、散点图、条形图和饼图。读者可以根据自己的需求选择相应的图形函数,并进行调整和修改,以达到自己的效果。请注意,代码中使用的一些函数和参数可能不是最优的选择,读者可以自行查阅文档或其他资料,以获取更多有关Matplotlib的信息。

后端开发标签