如何为Matplotlib绘制的双曲线等高线添加自定义文本标签?
在Matplotlib中为双曲线等高线添加自定义标签
我使用Matplotlib绘制一般形式的双曲线,代码如下:
cntr = ax.contour(x, y, (A * x ** 2 + B * x * y + C * y ** 2 + D * x + E * y - 1), [0])
我希望在等高线上标注自定义名称,例如从0到N-1的序号。但现有的ax.clabel()函数:
ax.clabel(cntr, fmt="%2.1f", use_clabeltext=True)
无法直接传入自定义文本。我期望实现的效果是等高线上带有自定义序号标签,且标签位置与clabel函数默认的位置一致。
更新1
试过一种临时方法,通过偏移每条等高线的层级来标注:
cntr = ax.contour(x, y, (A * x ** 2 + B * x * y + C * y ** 2 + D * x + E * y - 1 + idx), [idx])
但该方法无法支持自定义文本。
内容的提问来源于stack exchange,提问作者dizcza
相关产品推荐
相关产品推荐

