在 Matplotlib 图形的轴上显示小数位数和科学计数法
为了在 matplotlib 的轴上显示小数位数和科学记数法,我们可以使用标量格式化器,通过替换_set_format() 方法。
步骤
使用 numpy 创建 x 和 y 数据点。
使用 plot() 方法绘制 x 和 y。
使用 gca() 方法,获取当前轴。
将格式刻度值实例化为数字类,即ScalarFormatter。
使用 set_powerlimits((0, 0)) 方法,设置科学记数法的尺寸阈值。
使用set_major_formatter() 方法,设置主要标记的格式。
要显示图形,使用show() 方法。
示例
import numpy as np from matplotlib.ticker import ScalarFormatter from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True class ScalarFormatterClass(ScalarFormatter): def _set_format(self): self.format = "%1.2f" x = np.linspace(1, 10) y = np.linspace(2,10) y = x * y plt.plot(x, y) ax = plt.gca() yScalarFormatter = ScalarFormatterClass(useMathText=True) yScalarFormatter.set_powerlimits((0,0)) ax.yaxis.set_major_formatter(yScalarFormatter) plt.show()
结果
广告