编程语言
首页 > 编程语言> > python-Matplotlib数字分组(小数点分隔符)

python-Matplotlib数字分组(小数点分隔符)

作者:互联网

基本上,当使用matplotlib生成图时,y轴上的比例会达到数百万.如何打开数字分组(即1000000显示为1,000,000)或打开小数点分隔符?

解决方法:

我认为没有内置函数可以执行此操作. (这就是我在读完您的Q之后的想法;我只是检查了一下,但在文档中找不到一个).

无论如何,轻松推出自己的游戏.

(下面是一个完整的示例,即,它将生成一个带有坐标滴答标签的轴的mpl图-尽管创建自定义刻度标签只需要五行代码-该函数需要三行代码(包括import语句)用于创建自定义标签,两行用于创建新标签并将其放置在指定的轴上.)

# 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()

标签:matplotlib,data-visualization,python
来源: https://codeday.me/bug/20191210/2099653.html