PythonのMatplotlibで科学的表記法を無効にする方法


  1. 整数表記を使用する方法:

    import matplotlib.pyplot as plt
    plt.rcParams['axes.formatter.use_mathtext'] = True
    plt.rcParams['axes.formatter.limits'] = (-3, 3)  # 指定の範囲内の整数は数値として表示される
    # グラフの作成
    x = [1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1, 1e1, 1e2, 1e3, 1e4, 1e5]
    y = [1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1, 1e1, 1e2, 1e3, 1e4, 1e5]
    plt.plot(x, y)
    # グラフ表示
    plt.show()

    この方法では、plt.rcParams['axes.formatter.use_mathtext']をTrueに設定し、plt.rcParams['axes.formatter.limits']で表示する整数の範囲を指定しています。指定した範囲内の整数は数値として表示され、それ以外の数値は科学的表記法で表示されます。

  2. 目盛りのフォーマットをカスタマイズする方法:

    import matplotlib.pyplot as plt
    from matplotlib.ticker import ScalarFormatter
    # グラフの作成
    x = [1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1, 1e1, 1e2, 1e3, 1e4, 1e5]
    y = [1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1, 1e1, 1e2, 1e3, 1e4, 1e5]
    plt.plot(x, y)
    # 目盛りのフォーマットをカスタマイズ
    formatter = ScalarFormatter(useMathText=True)
    formatter.set_scientific(False)
    plt.gca().xaxis.set_major_formatter(formatter)
    plt.gca().yaxis.set_major_formatter(formatter)
    # グラフ表示
    plt.show()

    この方法では、ScalarFormatterを使用して目盛りのフォーマットをカスタマイズしています。useMathTextをTrueに設定し、set_scientific(False)で科学的表記法を無効にします。