1、添加标题和轴标签
使用 plt.title("标题文本")
方法来添加图表标题。使用 plt.xlabel("X轴标签")
和 plt.ylabel("Y轴标签")
方法来添加X轴和Y轴的标签。常用参数如下,
函数 | 描述 |
plt.title( label, loc='center', pad=None, fontsize=None, color=None, style=None, weight=None ) | 设置图表的标题。
|
plt.xlabel( xlabel, labelpad=None, loc=None, fontsize=None, color=None ) | 设置x轴的标签。
|
plt.ylabel( ylabel, labelpad=None, loc=None, fontsize=None, color=None ) | 设置y轴的标签。
|
使用示例:
import matplotlib.pyplot as plt
# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
# 绘制线图
plt.plot(x, y)
# 设置图表标题和轴标签
plt.title('cjavapy', loc='left', fontsize='large', color='blue', style='italic', weight='bold')
plt.xlabel('X Axis', labelpad=15, fontsize='medium', color='green')
plt.ylabel('Y Axis', labelpad=20, fontsize='medium', color='red')
# 使用 plt.draw() 显示画布
plt.draw()
# 显示图表
plt.show()
2、 添加图例
使用 plt.legend()
添加图例,通常在绘图命令中使用 label 参数标识不同的数据系列。它可以帮助解释图表中的数据点或线条代表什么。常用参数如下,
参数 | 描述 |
label | 为绘制的图形元素设置标签, 这些标签将在图例中显示。 |
loc | 设置图例的位置, 如 'upper right', 'upper left', 'lower left', 'lower right', 'right' 等。 |
fontsize | 设置图例中字体的大小。 |
title | 给图例添加标题。 |
shadow | 为图例添加阴影效果。 |
frameon | 设置是否显示图例边框。 |
使用示例:
import matplotlib.pyplot as plt
# 创建数据
x = [1, 2, 3, 4, 5]
y1 = [2, 3, 5, 7, 11]
y2 = [1, 4, 6, 8, 10]
# 绘制两条线,并为它们添加标签
plt.plot(x, y1, marker='o', label='Prime Numbers')
plt.plot(x, y2, marker='s', label='Even Numbers')
# 添加图例,并自定义图例
plt.legend(loc='upper left', fontsize='large', title='Number Types', shadow=True, frameon=True)
# 添加标题和轴标签
plt.title('cjavapy Legend')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
# 使用 plt.draw() 显示画布
plt.draw()
# 显示图表
plt.show()
3、显示网格线
显示网格线是通过 plt.grid()
函数实现的。网格线有助于更好地理解图表中的数据点和趋势。常用参数如下,
参数 | 描述 |
color | 设置网格线的颜色。 |
linestyle | 设置网格线的样式,如 '-', '--', '-.', ':'。 |
linewidth | 设置网格线的宽度。 |
axis | 指定要显示网格线的轴, 可选值为 'x' , 'y' , 'both'。 |
使用示例:
import matplotlib.pyplot as plt
# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
# 绘制线图
plt.plot(x, y)
# 显示网格线并自定义其外观
plt.grid(True, color='gray', linestyle='--', linewidth=0.5, axis='both')
# 添加标题和轴标签
plt.title('cjavapy Custom Grid Lines')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
# 使用 plt.draw() 显示画布
plt.draw()
# 显示图表
plt.show()
4、添加注释
可以使用 plt.annotate()
函数在图表中添加注释。这个功能对于突出显示特定的数据点或向读者提供额外信息非常有用。常用参数如下,
import matplotlib.pyplot as plt
# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
# 绘制线图
plt.plot(x, y)
# 添加注释
plt.annotate('Highest Point', xy=(5, 11), xytext=(3, 6),
arrowprops=dict(facecolor='black', shrink=0.05))
# 添加标题和轴标签
plt.title('cjavapy with Annotation')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
# 使用 plt.draw() 显示画布
plt.draw()
# 显示图表
plt.show()
5、自定义轴刻度
可以自定义轴刻度以改善图表的可读性和美观性。这可以通过设置轴的刻度标签和刻度位置来完成。常用参数如下,
函数 | 描述 |
plt.xticks(ticks, labels, rotation, fontsize) | 用于自定义x轴的刻度和标签。
|
plt.yticks(ticks, labels, rotation, fontsize) | 用于自定义y轴的刻度和标签。
|
使用示例:
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 绘制图表
plt.plot(x, y)
# 自定义x轴刻度
plt.xticks(ticks=[0, np.pi/2, np.pi, 3*np.pi/2, 2*np.pi],
labels=['0', 'π/2', 'π', '3π/2', '2π'],
rotation=45,
fontsize='small')
# 自定义y轴刻度
plt.yticks(ticks=[-1, 0, 1],
labels=['Min', 'Zero', 'Max'],
rotation=30,
fontsize='medium')
# 添加标题和轴标签
plt.title('cjavapy')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
# 使用 plt.draw() 显示画布
plt.draw()
# 显示图表
plt.show()
6、控制轴的范围
可以通过 plt.xlim()
和 plt.ylim()
函数控制 x
轴和 y
轴的显示范围。对于聚焦特定区域的数据或排除异常值非常有用。常用参数如下,
plt.xlim() 常用参数:
参数 | 描述 |
left | 设置x轴的最小值 |
right | 设置x轴的最大值 |
plt.ylim()常用参数:
参数 | 描述 |
bottom | 设置y轴的最小值 |
top | 设置y轴的最大值 |
使用示例:
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.linspace(0, 20, 100)
y = np.sin(x)
# 绘制图表
plt.plot(x, y)
# 控制 x 轴和 y 轴的范围
plt.xlim(left=0, right=10) # 设置 x 轴的范围为 0 到 10
plt.ylim(bottom=-0.5, top=0.5) # 设置 y 轴的范围为 -0.5 到 0.5
# 添加标题和轴标签
plt.title('cjavapy')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
# 使用 plt.draw() 显示画布
plt.draw()
# 显示图表
plt.show()
7、利用子图(Subplots)
使用plt.subplots()
是用于创建一个带有多个子图(subplots)的图表布局的强大工具。对于比较不同数据集或展示数据的不同视角非常有用。常用参数如下,
参数 | 描述 |
nrows | 子图网格中的行数。 |
ncols | 子图网格中的列数。 |
figsize | 整个图表的大小, 以英寸为单位, 格式为 (width, height)。 |
sharex | 如果为 |
sharey | 如果为 |
tight_layout | 如果为 |
subplot_kw | 传递给 |
使用示例:
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.linspace(0, 2 * np.pi, 400)
y1 = np.sin(x)
y2 = np.cos(x)
# 创建一个 2x2 的子图布局,并设置图表大小和子图共享轴
fig, axs = plt.subplots(2, 2, figsize=(8, 6), sharex=True, sharey=True)
# 在第一个子图上绘制
axs[0, 0].plot(x, y1)
axs[0, 0].set_title('cjavapy')
# 在第二个子图上绘制
axs[0, 1].plot(x, y2, 'tab:orange')
# 在第三个子图上绘制
axs[1, 0].plot(x, -y1, 'tab:green')
# 在第四个子图上绘制
axs[1, 1].plot(x, -y2, 'tab:red')
# 自动调整子图布局
plt.tight_layout()
# 使用 plt.draw() 显示画布
plt.draw()
# 显示图表
plt.show()