如何在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()
输出
广告