如何在Matplotlib绘制的等高线中添加Z值标注?
给Matplotlib等高线添加Z值标注的方法
你只需要利用contour()方法返回的ContourSet对象,调用其clabel()方法就能实现等高线的Z值标注。
修改后的完整代码如下:
import numpy as np import matplotlib.pyplot as plt x = np.linspace(-3,3,500) y = np.linspace(-3,3,500) X,Y = np.meshgrid(x,y) Z = X**2+Y**2 fig = plt.figure(figsize=(5,5)) ax = fig.add_subplot(111,aspect='equal') # 保存contour返回的ContourSet对象 cs = ax.contour(X,Y,Z,levels=[0,1,4,9]) # 添加等高线标注 cs.clabel(inline=True, fontsize=10) plt.show()
关键细节说明:
clabel()默认会自动读取每条等高线对应的Z值并完成标注inline=True参数可以让标注文字覆盖在等高线上,避免线条穿过文字,提升视觉效果- 若需要自定义标注格式,可通过
fmt参数设置,比如fmt='%.1f'来控制小数位数;也可以手动指定标注位置,进一步优化显示效果
内容的提问来源于stack exchange,提问作者ends7
相关产品推荐
相关产品推荐

