如何修改Windrose风玫瑰图中浮点数图例的格式?
控制风玫瑰图图例的浮点数小数位数
你使用Windrose官方示例代码绘制风玫瑰图时,图例默认显示的浮点数小数位数不符合需求,可通过以下方式自定义控制:
原始示例代码
from windrose import WindroseAxes from matplotlib import pyplot as plt import numpy as np ws = np.random.random(500) * 6 wd = np.random.random(500) * 360 ax = WindroseAxes.from_ax() ax.bar(wd, ws, normed=True, opening=0.8, edgecolor='white') ax.set_legend() plt.show()
修改后的代码(自定义小数位数)
from windrose import WindroseAxes from matplotlib import pyplot as plt import numpy as np ws = np.random.random(500) * 6 wd = np.random.random(500) * 360 ax = WindroseAxes.from_ax() ax.bar(wd, ws, normed=True, opening=0.8, edgecolor='white') # 获取图例并格式化标签小数位数 legend = ax.set_legend() # 遍历所有图例文本,将数值格式化为1位小数(可修改.1f为.2f等调整位数) for text in legend.get_texts(): try: num = float(text.get_text()) text.set_text(f"{num:.1f}") except ValueError: # 处理非数值标签(如果有的话) pass plt.show()
说明
- 代码中
{num:.1f}表示保留1位小数,若需要2位小数则改为{num:.2f},以此类推。 - 加入
try-except块是为了避免非数值标签出现转换错误,确保代码鲁棒性。
内容的提问来源于stack exchange,提问作者mahmood
相关产品推荐
相关产品推荐

