Matplotlib 是 Python 中最常用的数据可视化库之一,它提供了丰富的绘图功能,能够满足从简单曲线到复杂子图的各种可视化需求。本文将介绍 Matplotlib 的基础用法,包括多项式曲线绘制、格式字符串使用和子图创建。
1. 绘制多项式曲线
多项式曲线是数据可视化中的基础内容,通过 numpy.poly1d() 函数可以轻松创建多项式函数。
代码
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# 绘制多项式曲线
# 创建多项式对象 y = 2x^2 + 3x + 1
aPoly = np.poly1d([2, 3, 1])
# x、y变量
x = np.arange(-5, 5, 0.01)
y = aPoly(x)
# 绘制曲线
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('y')
plt.legend() # 网格
plt.show() # 展示画布
结果展示
代码解析:
np.poly1d([2, 3, 1])创建了一个二次多项式函数np.arange(-5, 5, 0.01)生成从-5到5,步长为0.01的x值数组plt.plot()绘制曲线,plt.xlabel()和plt.ylabel()设置坐标轴标签plt.legend()显示图例,plt.show()展示图形
2. 使用格式字符串定制曲线样式
格式字符串可以让我们自定义曲线的颜色、线型和标记样式,使图形更加美观和易读。
代码
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# 格式字符串
x = np.linspace(0, 2 * np.pi, 100)
y_sin = np.sin(x)
y_cos = np.cos(x)
# 绘制正弦曲线
plt.plot(x, y_sin, 'r-', label='sin(x)') # 红色实线
# 绘制余弦曲线
plt.plot(x, y_cos, 'b--', label='cos(x)') # 蓝色虚线
# 设置图形标题
plt.title('sin and cos')
# 设置x轴和y轴标签
plt.xlabel('x')
plt.ylabel('y')
# 显示图例
plt.legend()
# 显示网格
plt.grid(True)
# 显示图形
plt.show()
结果展示
代码解析:
'r-'表示红色实线,'b--'表示蓝色虚线np.linspace(0, 2 * np.pi, 100)生成0到2π之间的100个等间距点plt.title()设置图形标题plt.grid(True)添加网格线,提高可读性
3. 创建多子图布局
子图功能允许我们在一个图形窗口中创建多个坐标轴,便于比较不同数据或函数。
代码
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# 生成x轴数据
x = np.linspace(0, 2 * np.pi, 100)
# 计算正弦函数值
y_sin = np.sin(x)
# 计算余弦函数值
y_cos = np.cos(x)
# 计算平方函数值
y_square = x * x
# 计算平方根函数值
y_sqrt = np.sqrt(x)
# 创建2x2的子图布局
plt.subplot(2, 2, 1)
plt.plot(x, y_sin, 'r-', label='sinx')
plt.title('sinx')
plt.legend()
plt.subplot(2, 2, 2)
plt.plot(x, y_cos, 'g--', label='cosx')
plt.title('cosx')
plt.legend()
plt.subplot(2, 2, 3)
plt.plot(x, y_square, 'b*', label='square')
plt.title('square')
plt.legend()
plt.subplot(2, 2, 4)
plt.plot(x, y_sqrt, 'r-x', label='sqrt')
plt.title('sqrt')
plt.legend()
plt.show() # 展示画布
结果展示
代码解析:
plt.subplot(2, 2, 1)创建2行2列的子图布局,并选择第1个子图- 每个子图都有独立的标题、图例和样式设置
- 使用了不同的线型和标记:
'r-'(红色实线)、'g--'(绿色虚线)、'b*'(蓝色星号标记)、'r-x'(红色实线加x标记)
总结
通过这三个示例,我们学习了 Matplotlib 的基本绘图功能:
- 基础绘图:使用
plt.plot()绘制简单函数曲线 - 样式定制:通过格式字符串控制线条颜色、线型和标记
- 多图布局:使用
plt.subplot()创建复杂的子图排列
这些基础技能为更高级的数据可视化打下了坚实基础。Matplotlib 的强大之处在于其灵活性和可定制性,能够满足从简单的学术绘图到复杂的商业图表的各种需求。