You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Matplotlib绘制指定范围等高线并显示7-8位小数精度标注

你可以通过指定plt.contour的levels参数限定绘制等高线的数值范围,同时修改clabel的格式参数实现8位小数的精度标注,修改后的代码如下:

import numpy as np
import matplotlib.pyplot as plt

khmax = np.arange(0,np.pi,0.01)
Ncmax = np.arange(0,np.pi,0.01)
[X, Y] = np.meshgrid(Ncmax,khmax)
fig, ax = plt.subplots()

# 定义目标等高线范围,可根据需求调整区间内等高线的生成数量
min_level = 0.99999999
max_level = 1.00000001
# 这里设置生成10个等间距的等高线值,数值越大等高线越密集
target_levels = np.linspace(min_level, max_level, 10)

# 传入levels参数仅绘制指定范围的等高线
contour = plt.contour(X,Y,mod_G, levels=target_levels)
ax.set_title('magnitude of G')
ax.set_xlabel('Ncmax')
ax.set_ylabel('khmax')
# fmt调整为%1.8f即可显示8位小数精度
ax.clabel(contour, inline= True, inline_spacing = -1,fmt = '%1.8f',fontsize=8)
plt.show()

如果需要自动适配mod_G原始等值区间内的所有可选值,可以用如下方式过滤得到目标水平值:

# 先获取默认生成的所有等高线水平
all_levels = plt.contour(X,Y,mod_G).levels
# 过滤出落在目标区间内的水平值
target_levels = all_levels[(all_levels >= 0.99999999) & (all_levels <= 1.00000001)]
# 再传入levels参数绘制
contour = plt.contour(X,Y,mod_G, levels=target_levels)

内容的提问来源于stack exchange,提问作者Avii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 00:24:04