使用对数轴时刻度标签中的小数点不一致

时间:2019-04-11 18:19:41

标签: python matplotlib

我正在尝试创建一个带有对数y轴和整数刻度标签的图,但充其量我会得到不一致的小数。

最简单的方法可以给出科学的符号:

import matplotlib as mpl
import matplotlib.pyplot as plt

vals = [10, 20, 30]

plt.scatter(vals, vals)
ax = plt.gca()
ax.set_yscale('log')

First graph

将轴的主要格式器设置为标量仍会产生一些科学符号:

ax.yaxis.set_major_formatter(mpl.ticker.ScalarFormatter())

Second graph

并在其上设置次要格式化程序会删除科学计数法,但会产生不一致的小数:

ax.yaxis.set_minor_formatter(mpl.ticker.ScalarFormatter())

Graph 3

如何获取所有整数刻度线标签?

1 个答案:

答案 0 :(得分:1)

例如,您可以使用900 ['GameOfThrones'] 504 ['DC/Batman'] 444 ['Science/Chemistry'] 342 ['Marvel/CaptainAmerica', 'Math/Calculus'] 324 ['Psychology'] 300 ['Marvel/GuardiansOfGalaxy'] 234 ['Anthropology'] 200 ['DC/Superman', 'Science/Biology'] 和python的StrMethodFormatter格式:

g

enter image description here