Python数据可视化再探——Matplotlib模块 之二
目录
第二章 图表绘制和美化技巧
一、在一张画布上绘制四张图表
1. subplots函数示例
2. subplot函数示例
二、添加图表元素
1. 图表标题
2. 坐标轴标题
3. 图例
4. 数据标签
三、设置网格线
1. 显示网格线
2. 网格线参数
四、调整坐标值的刻度范围
1. 设置 x 轴刻度范围
2. 设置 y 轴刻度范围
3. 自动调整刻度
五、章节内容总结
六、随堂练习题
第二章 图表绘制和美化技巧
一、在一张画布上绘制四张图表
在 Matplotlib 中,通过subplot或subplots函数可以实现在同一画布上绘制多个图表,方便进行数据对比与分析。
1. subplots函数示例
import matplotlib.pyplot as plt
import numpy as np# 创建一个2x2的子图布局
fig, axs = plt.subplots(2, 2, figsize=(10, 8))# 生成示例数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.exp(x)
y4 = np.log(x + 1)# 绘制第一张图:正弦曲线
axs[0, 0].plot(x, y1)
axs[0, 0].set_title('Sin Curve')# 绘制第二张图:余弦曲线
axs[0, 1].plot(x, y2)
axs[0, 1].set_title('Cos Curve')# 绘制第三张图:指数曲线
axs[1, 0].plot(x, y3)
axs[1, 0].set_title('Exp Curve')# 绘制第四张图:对数曲线
axs[1, 1].plot(x, y4)
axs[1, 1].set_title('Log Curve')# 调整子图间距
plt.tight_layout()
plt.show()
通过上面的案例,我们答题了解了如何在一张画布上同时绘制多张图表的技巧。
以下是使用subplots函数的示例代码,假设我们要在同一画布上绘制两个子图,一个折线图和一个柱状图。首先导入必要的库:import matplotlib.pyplot as plt,import numpy as np。接着创建画布和子图对象:fig, (ax1, ax2) = plt.subplots(1, 2)。然后在第一个子图ax1上绘制折线图:x = np.linspace(0, 10, 100); y = np.sin(x); ax1.plot(x, y); ax1.set_title('折线图'); ax1.set_xlabel('X轴'); ax1.set_ylabel('Y轴') 。在第二个子图ax2上绘制柱状图:categories = ['A', 'B', 'C']; values = [10, 15, 7]; ax2.bar(categories, values); ax2.set_title('柱状图'); ax2.set_xlabel('类别'); ax2.set_ylabel('数值') 。最后展示图表:plt.show() 。
通过上述示例,我们掌握了subplots函数的使用方法。而subplot函数同样能实现多图绘制,它的使用方式稍有不同,下面我们来看具体的subplot函数示例。
使用subplot函数时,需要依次指定行数、列数和当前子图的编号,例如在2行2列的布局中绘制第3个子图,可以使用plt.subplot(2, 2, 3)。
下面通过一个在同一画布上绘制四个子图的例子,展示subplot函数的具体使用方法。 假设我们要在同一画布上绘制四个子图,分别展示正弦函数、余弦函数的折线图,以及两个不同数据集的柱状图。同样先导入必要的库:import matplotlib.pyplot as plt,import numpy as np。接下来,我们通过plt.subplot函数依次创建四个子图并进行绘制。
2. subplot函数示例
import matplotlib.pyplot as plt
import nump