将 y 轴标签格式化为具有许多零的更高千位科学记数法?

Posted

技术标签:

【中文标题】将 y 轴标签格式化为具有许多零的更高千位科学记数法?【英文标题】:Format the y-axis label in the higher thousands with many zeros to scientific notation? 【发布时间】:2020-04-11 22:02:32 【问题描述】:

如何使用科学计数法收紧 y 轴?

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111)

x=[1,2,3,4,5,6,7,8,9,10]
y=np.array([1,1,1,2,10,2,1,1,1,1])*100000
ax.plot(x, y)

【问题讨论】:

这能回答你的问题吗? Plotting with scientific axis, changing the number of significant figures。这个问题已经被问到并且有答案。如果您认为该问题与现有答案有很大不同,则应添加对该问题的答案。 感谢您的反馈。我为这个问题寻找了很长一段时间,但找不到它。我正在搜索诸如“y 轴标签”“更高千”和“许多零”之类的关键字。可能第二个问题可能会帮助人们更容易获得答案。 【参考方案1】:

plt.ticklabel_format:

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111)

x=[1,2,3,4,5,6,7,8,9,10]
y=np.array([1,1,1,2,10,2,1,1,1,1])*100000
ax.plot(x, y)
plt.ticklabel_format(axis="y", style="sci", scilimits=(0,5))
plt.show()

【讨论】:

以上是关于将 y 轴标签格式化为具有许多零的更高千位科学记数法?的主要内容,如果未能解决你的问题,请参考以下文章

Qwt 关闭轴标签的科学记数法

使用千位分隔符和字体大小格式化 y 轴 matplotlib

抑制 matplotlib 中的科学记数法 offsetText

将小数格式化为没有科学记数法的小数位数

将 C# Double 格式化为以三的倍数为单位的科学记数法

如何格式化双对数 x 轴刻度标签以显示为 10 的幂?