Matplotlib 轴标签和标题

Matplotlib 轴标签和标题基础设置

轴标签和标题是图表的重要组成部分,用于说明数据的含义。Matplotlib 提供了简单的方法来设置这些元素。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y = np.sin(x)

plt.plot(x, y)
plt.xlabel('X轴标签', fontsize=12)
plt.ylabel('Y轴标签', fontsize=12)
plt.title('示例图表标题', fontsize=14)
plt.show()

自定义轴标签和标题样式

可以通过各种参数来自定义标签和标题的样式,包括字体大小、颜色和字体样式等。

plt.plot(x, y)
plt.xlabel('X轴标签', fontsize=14, color='blue', fontweight='bold')
plt.ylabel('Y轴标签', fontsize=14, color='red', fontstyle='italic')
plt.title('自定义样式的标题', fontsize=16, color='green', pad=20)
plt.show()

使用 LaTeX 渲染数学公式

Matplotlib 支持 LaTeX 语法,可以在标签和标题中使用数学公式。

plt.plot(x, y)
plt.xlabel('$x$', fontsize=14)
plt.ylabel('$sin(x)$', fontsize=14)
plt.title('函数 $y = sin(x)$ 的曲线', fontsize=16)
plt.show()

调整标签和标题位置

可以通过额外的参数调整标签和标题的位置,确保它们不会与其他图表元素重叠。

plt.plot(x, y)
plt.xlabel('X轴标签', fontsize=12, labelpad=10)
plt.ylabel('Y轴标签', fontsize=12, labelpad=15)
plt.title('调整位置的标题', fontsize=14, pad=20)
plt.show()

多子图情况下的轴标签和标题

当使用多个子图时,需要为每个子图单独设置轴标签和标题。

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 4))

ax1.plot(x, y)
ax1.set_xlabel('X轴标签1', fontsize=12)
ax1.set_ylabel('Y轴标签1', fontsize=12)
ax1.set_title('子图1标题', fontsize=14)

ax2.plot(x, np.cos(x))
ax2.set_xlabel('X轴标签2', fontsize=12)
ax2.set_ylabel('Y轴标签2', fontsize=12)
ax2.set_title('子图2标题', fontsize=14)

plt.tight_layout()
plt.show()

使用标题和标签的高级布局

在复杂图表中,可能需要更灵活地控制标题和标签的布局。

fig = plt.figure(figsize=(10, 6))
ax = fig.add_subplot(111)

ax.plot(x, y)
ax.set_xlabel('X轴标签', fontsize=12, position=(0.5, 0.02))
ax.set_ylabel('Y轴标签', fontsize=12, position=(0.02, 0.5))
ax.set_title('主标题', fontsize=16, pad=20, loc='left')

plt.show()

旋转轴标签

当轴标签文字较长时,可以旋转标签以避免重叠。

categories = ['非常长的类别名称1', '非常长的类别名称2', '非常长的类别名称3']
values = [10, 20, 15]

plt.bar(categories, values)
plt.xlabel('类别', fontsize=12)
plt.ylabel('值', fontsize=12)
plt.xticks(rotation=45, ha='right')
plt.title('旋转轴标签示例', fontsize=14)
plt.tight_layout()
plt.show()

使用不同的字体

可以指定特定的字体来增强图表的视觉效果。

plt.plot(x, y)
plt.xlabel('X轴标签', fontsize=12, fontname='Times New Roman')
plt.ylabel('Y轴标签', fontsize=12, fontname='Times New Roman')
plt.title('使用不同字体的标题', fontsize=14, fontname='Arial')
plt.show()

添加副标题

虽然 Matplotlib 没有直接的副标题功能,但可以通过调整位置来添加。

plt.plot(x, y)
plt.xlabel('X轴标签', fontsize=12)
plt.ylabel('Y轴标签', fontsize=12)
plt.title('主标题', fontsize=16, pad=20)
plt.suptitle('副标题', fontsize=12, y=0.92)
plt.show()

全局标题和轴标签

在使用多个子图时,可以添加全局标题和轴标签。

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 4))

ax1.plot(x, y)
ax2.plot(x, np.cos(x))

fig.text(0.5, 0.95, '全局标题', ha='center', fontsize=16)
fig.text(0.5, 0.02, '全局X轴标签', ha='center', fontsize=12)
fig.text(0.02, 0.5, '全局Y轴标签', va='center', rotation='vertical', fontsize=12)

plt.tight_layout()
plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值