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

如何在plt.contourf填充等高线图上正确标注等高线数值

如何在plt.contourf填充等高线图上正确标注数值?

我尝试生成带内部数值标注的等高线图,使用plt.contourf绘制填充等高线图后用plt.clabel标注数值,结果标注的数值对应错误(填充区域的数值标签和实际等高区间不匹配);但改用plt.contour搭配plt.clabel时,数值标注完全正常。

原问题代码

X = Data3.iloc[:,0].drop_duplicates()
Y = Data3.iloc[:,1].drop_duplicates()
Z = Data3.pivot('Battery capacity (kWh)','Solar capacity (kW)', 'Diesel electricity generation (kWh)')

plt.figure(figsize=(7, 5))

contours = plt.contourf(X, Y, Z, 10, cmap='viridis', alpha=0.8 )
plt.colorbar();
plt.clabel(contours, inline = True, fontsize=8, fmt='%d', colors = 'black')

plt.xlabel('Solar Capacity (kW)',fontsize = 13) # x-axis label with fontsize 12
plt.ylabel('Battery Capacity (kWh)',fontsize = 12) # y-axis label with fontsize 12
plt.title('Diesel Electricity Generation (% of total generation)',fontsize = 15)
plt.scatter(x=(233*1.83*0.16), y=250, color = 'r', marker='o')

解决方案

问题核心是plt.contourf返回的对象并不适合直接用于plt.clabel标注,正确的做法是同时使用contourf和contour:用contourf绘制填充背景,再用contour绘制等高线条并标注数值,两者保持相同的等高线层级参数,确保标签与填充区域完全对应。

修改后的代码:

X = Data3.iloc[:,0].drop_duplicates()
Y = Data3.iloc[:,1].drop_duplicates()
Z = Data3.pivot('Battery capacity (kWh)','Solar capacity (kW)', 'Diesel electricity generation (kWh)')

plt.figure(figsize=(7, 5))

# 绘制填充等高线,定义等高层级
contour_fill = plt.contourf(X, Y, Z, 10, cmap='viridis', alpha=0.8 )
plt.colorbar()

# 绘制等高线条,使用和contourf完全相同的层级,保证区间匹配
contour_lines = plt.contour(X, Y, Z, 10, colors='black', linewidths=0.5)
# 对contour生成的线条对象进行数值标注
plt.clabel(contour_lines, inline=True, fontsize=8, fmt='%d', colors='black')

plt.xlabel('Solar Capacity (kW)', fontsize=13)
plt.ylabel('Battery Capacity (kWh)', fontsize=12)
plt.title('Diesel Electricity Generation (% of total generation)', fontsize=15)
plt.scatter(x=(233*1.83*0.16), y=250, color='r', marker='o')

plt.show()

关键注意点

  • 必须让contourf和contour使用相同的层级数(示例中为10),确保等高区间完全一致
  • 可调整contour的colors、linewidths参数,让等高线与填充背景视觉协调
  • plt.clabel仅对contour返回的对象能正确匹配数值标注

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 08:25:42