3
基本上,当使用matplotlib生成图时,y轴上的比例将变为数百万。如何开启数字分组(即1000000显示为1,000,000)还是打开小数点分隔符?Matplotlib数字分组(小数分隔符)
基本上,当使用matplotlib生成图时,y轴上的比例将变为数百万。如何开启数字分组(即1000000显示为1,000,000)还是打开小数点分隔符?Matplotlib数字分组(小数分隔符)
我不认为有一个内置的功能来做到这一点。 (这是我读完Q后的想法;我只是查了一下,在文档中找不到)。
无论如何,它很容易推出自己的。 (下面是一个完整的例子 - 也就是说,它将生成一个带有一个带有通知的刻度标签的轴的mpl图 - 虽然需要创建自定义刻度标签,但需要五行代码 - 三个(包括导入语句)用于创建自定义标签的功能,以及两行来创建新标签并将它们放置在指定轴上。)
# first code a function to generate the axis labels you want
# ie, turn numbers greater than 1000 into commified strings (12549 => 12,549)
import locale
locale.setlocale(locale.LC_ALL, 'en_US')
fnx = lambda x : locale.format("%d", x, grouping=True)
from matplotlib import pyplot as PLT
import numpy as NP
data = NP.random.randint(15000, 85000, 50).reshape(25, 2)
x, y = data[:,0], data[:,1]
fig = PLT.figure()
ax1 = fig.add_subplot(111)
ax1.plot(x, y, "ro")
default_xtick = range(20000, 100000, 10000)
# these two lines are the crux:
# create the custom tick labels
new_xtick = map(fnx, default_xtick)
# set those labels on the axis
ax1.set_xticklabels(new_xtick)
PLT.show()
您可以这样做:http://tiku.io/questions/1009459 /如何对格式轴数格式到数千上带有一个逗号式-matplotlib – 2015-02-13 05:41:49