如何为matplotlib的tricontourf绘图添加文本标注?
在matplotlib的tricontourf等值填充图中添加文本标注
直接用plt.text()或者Axes对象的text()方法就能在图上添加文本,和你习惯的text(1, 1, "my text", fontsize=12)用法完全一致,不会影响tricontourf的绘制效果。下面是完整的示例代码:
import matplotlib.pyplot as plt import numpy as np # 生成测试数据 np.random.seed(123) x = np.random.rand(100) y = np.random.rand(100) z = np.sin(x * 2 * np.pi) * np.cos(y * 2 * np.pi) # 创建绘图对象 fig, ax = plt.subplots() # 绘制tricontourf等值填充图 contour = ax.tricontourf(x, y, z, levels=20, cmap='viridis') fig.colorbar(contour) # 添加文本标注,Axes的text方法和plt.text用法一致 ax.text(0.5, 0.5, "中心标注文本", fontsize=14, color='white', fontweight='bold', ha='center') ax.text(0.1, 0.9, "左上角标注", fontsize=12, color='black', ha='left') # 设置坐标轴标签与标题 ax.set_xlabel('X轴') ax.set_ylabel('Y轴') ax.set_title('带文本标注的tricontourf图') plt.show()
关键说明:
- 标注的前两个参数对应图中的坐标轴数值位置,如果想基于图的相对位置(比如不管坐标轴数值,直接在图的10%宽度、90%高度位置加文本),可以添加
transform=ax.transAxes参数:ax.text(0.1, 0.9, "相对位置标注", fontsize=12, transform=ax.transAxes, ha='left') - 可以根据标注区域的背景色调整文本颜色,比如深色区域用白色文本、浅色区域用黑色文本,保证可读性。
内容的提问来源于stack exchange,提问作者Ram
相关产品推荐
相关产品推荐

