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

Matplotlib图表中如何将mps风速转换为mph显示?

解决Matplotlib风速单位从mps转mph的显示问题

有两种简单实用的方法可以实现需求,不用大幅改动现有代码:

方法一:直接转换数据后绘图

如果不介意调整数据的存储形式,直接把mps格式的风速数据批量转成mph再绘图即可:

# 假设你的原始风速数据是wind_speed_mps,时间序列数据是time
wind_speed_mph = [mps_to_mph(mps) for mps in wind_speed_mps]  # 批量转换单位

# 用转换后的数据绘图,同步修改坐标轴标签
plt.plot(time, wind_speed_mph)
plt.ylabel("风速 (mph)")  # 明确标注新单位
plt.show()

方法二:用刻度格式化器(保留原始数据)

如果需要保留原始mps数据的逻辑,不想改动数据本身,可以用Matplotlib的刻度格式化器自动转换显示值:

from matplotlib.ticker import FuncFormatter

# 先正常用mps数据完成绘图初始化
fig, ax = plt.subplots()
ax.plot(time, wind_speed_mps)

# 创建单位转换格式化器,将刻度值从mps转成mph并格式化显示
mph_formatter = FuncFormatter(lambda x, pos: f"{mps_to_mph(x):.1f}")
ax.yaxis.set_major_formatter(mph_formatter)  # 把格式化器应用到风速对应的坐标轴(这里假设是y轴)

# 修改坐标轴标签为mph
ax.set_ylabel("风速 (mph)")
plt.show()

这种方式下,后台计算仍用原始mps数据,但图表上显示的刻度值已经是转换后的mph,适合需要保留原始数据链路的场景。

内容的提问来源于stack exchange,提问作者Sarah Bednarskivmhdn Xxbsr2q s

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 11:12:05