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

如何用Python的matplotlib将散点图刻度标签格式化为百分比样式

Matplotlib 刻度标签转百分比格式实现方案

你只需要在现有代码基础上补充刻度格式化的配置即可,两种常用实现方式如下:

方案1:使用内置PercentFormatter(最简便)

专门用于百分比场景的格式化工具,无需自定义逻辑:

import matplotlib.pyplot as plt
from matplotlib.ticker import PercentFormatter

plt.scatter(data["Profit_Margin"], data["Actual_Sales_Ex_RTC"], c=data["general"].map(colours))

plt.title("Multipack Crisps")

plt.xlabel("Profit Margin %")
plt.ylabel("Sales ex VAT")

# 新增:设置x轴主刻度为百分比格式,输入值范围为0-1时直接输出对应百分比
plt.gca().xaxis.set_major_formatter(PercentFormatter(xmax=1, decimals=0))

plt.show()

参数说明:

  • xmax=1:表示输入值的最大值对应100%,适配你当前0.35对应35%的需求
  • decimals=0:保留0位小数,需要保留小数可调整对应数值

方案2:自定义FuncFormatter(更高灵活性)

如果有特殊格式要求,可自定义格式化逻辑:

import matplotlib.pyplot as plt
from matplotlib.ticker import FuncFormatter

# 自定义百分比转换函数
def format_percent(value, pos):
    return f"{int(value * 100)}%"

plt.scatter(data["Profit_Margin"], data["Actual_Sales_Ex_RTC"], c=data["general"].map(colours))

plt.title("Multipack Crisps")

plt.xlabel("Profit Margin %")
plt.ylabel("Sales ex VAT")

# 新增:绑定自定义格式化函数
plt.gca().xaxis.set_major_formatter(FuncFormatter(format_percent))

plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:57:01