如何在Matplotlib中将坐标轴数字格式设置为带逗号的千位分隔符?


首先,我们可以创建两个x和y列表,其中的值将大于1000。然后,我们可以使用ax.yaxis.set_major_formatter方法,其中可以传递StrMethodFormatter('{x:,}')方法,该方法使用{x:,}格式化程序将给定数字集中的1000位数字分隔开。

步骤

  • 创建两个包含大于2000的数字的列表。

  • 使用subplots方法创建fig和ax变量,其中默认的nrows和ncols为1,使用subplot()方法。

  • 使用x和y(来自步骤1)绘制线条。

  • 使用ax.yaxis.set_major_formatter()方法设置主要刻度的格式化程序,其中StrMethodFormatter有助于使1000位数字用逗号分隔,即表达式{x:,}。使用与'str.format'相同的新式格式字符串来格式化刻度。

  • 使用ax.xaxis.set_major_formatter()方法设置主要刻度的格式化程序,其中StrMethodFormatter有助于使1000位数字用逗号分隔,即表达式{x:,}。使用与'str.format'相同的新式格式字符串来格式化刻度。

  • 要显示图形,请使用plt.show()方法。

示例

import matplotlib.pyplot as plt
from matplotlib.ticker import FormatStrFormatter, StrMethodFormatter

x = [10110, 20110, 40110, 6700]

y = [20110, 10110, 30110, 9700]

fig, ax = plt.subplots()
ax.plot(x, y)
ax.yaxis.set_major_formatter(StrMethodFormatter('{x:,}'))
ax.xaxis.set_major_formatter(StrMethodFormatter('{x:,}'))

plt.show()

输出

更新于:2021年3月17日

5K+浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告