📜  matplotlib 在数字后将他的 yticks 更改为两个数字 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:02:54.312000             🧑  作者: Mango

使用 matplotlib 将 y 轴刻度更改为两个数字

如果您正在使用 python matplotlib 库去绘制图表,您可能想要将 y 轴的刻度更改为两个数字。这将使图形更加易于阅读,特别是当 y 轴的值非常大时。

这里是如何使用 matplotlib 更改 y 轴的刻度:

import matplotlib.pyplot as plt

# 生成图形
fig, ax = plt.subplots()

# 绘制数据
x_values = [1, 2, 3, 4, 5]
y_values = [1000000, 2000000, 3000000, 4000000, 5000000]
ax.plot(x_values, y_values)

# 更改 y 轴刻度
from matplotlib.ticker import FuncFormatter

def millions_formatter(x, pos):
    """将 y 轴刻度格式化为'X百万'"""
    return f"{x/1000000:.0f}M"

ax.yaxis.set_major_formatter(FuncFormatter(millions_formatter))

# 显示图形
plt.show()

在这个例子中,我们定义了一个格式化函数 millions_formatter() 并将它应用到 y 轴的 major 刻度上。这个函数将 y 值除以 1000000,并添加 'M' 后缀,使它变成一个以百万为单位的字符串。最后,我们使用 set_major_formatter() 函数将这个格式化器应用到 y 轴上。

这样,我们就成功地将 y 轴的刻度更改为两个数字了。

如果您想更改其他轴上的刻度,只需相应地更改上面的代码即可。