【发布时间】:2017-09-29 17:21:01
【问题描述】:
我有一个带有 6 位小数的 pandas 数据框,我想使用 matplotlib 进行绘制:
980 1.088760
981 1.088770
982 1.088770
983 1.088740
984 1.088740
如何在没有科学概念的情况下将其增加到6个位置?
【问题讨论】:
标签: python-2.7 pandas matplotlib
我有一个带有 6 位小数的 pandas 数据框,我想使用 matplotlib 进行绘制:
980 1.088760
981 1.088770
982 1.088770
983 1.088740
984 1.088740
如何在没有科学概念的情况下将其增加到6个位置?
【问题讨论】:
标签: python-2.7 pandas matplotlib
您可以使用matplotlib.ticker.StrMethodFormatter 来格式化具有所需有效数字数量的标签。得到例如6位有效数字,使用
matplotlib.ticker.StrMethodFormatter("{x:.6f}")
一个完整的例子:
import numpy as np; np.random.seed(3)
import matplotlib.pyplot as plt
import matplotlib.ticker
x = np.linspace(500,900, num=201)
y = np.cumsum(np.random.normal(loc=0,scale=1e-4,size=len(x) ))+1.0888
fig, ax=plt.subplots()
ax.plot(x,y)
ax.yaxis.set_major_formatter(matplotlib.ticker.StrMethodFormatter("{x:.6f}"))
plt.show()
【讨论】: