Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで対数スケールのY軸を持つグラフを描く方法

PythonのMatplotlibを使えば、Y軸を対数スケールに設定したグラフを簡単に描画できます。ここでは、y = log(x) のような対数的なデータを見やすく可視化する手順を紹介します。

基本的な手順

  • numpy を使って x と y のデータ点を作成します。
  • yscale() メソッドで Y 軸のスケールを 'log' に設定します。
  • plot() メソッドで x と y をプロットします。線種は linestyle="dashdot"、ラベルは label="y=log(x)" と指定すると分かりやすくなります。
  • legend() メソッドで凡例を表示します。
  • show() メソッドで図を画面に出力します。

サンプルコード

import numpy as np
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = np.linspace(1, 100, 1000)
y = np.log(x)

plt.yscale('log')
plt.plot(x, y, c="red", lw=3, linestyle="dashdot", label="y=log(x)")
plt.legend()
plt.show()

コードの解説

np.linspace(1, 100, 1000) は、1から100までの範囲を1000等分した配列を生成します。これにより滑らかな曲線が得られます。次に np.log(x) で自然対数を計算し、y の値を作成しています。

ポイントは plt.yscale('log') の部分です。この1行を追加するだけで、Y軸が対数スケール(10¹、10² といった目盛り)に変わり、桁数の大きく異なるデータも見やすい形で表示できます。

なお、対数軸では0や負の値を扱えないため、x の範囲は1以上から始めている点にも注意してください。

実行結果

上記のコードを実行すると、赤色の一点鎖線で y=log(x) の曲線が描かれ、Y軸が対数目盛りで表示されたグラフが出力されます。

  1. Python Matplotlib:サブプロットでX軸目盛り(xticks)を設定する方法

    Matplotlibのsubplot機能を使うと、1つの図(figure)をnrows×ncolsのグリッド状に分割して複数のグラフを並べて表示できます。さらにplt.xticksを組み合わせることで、各サブプロットのX軸目盛りの位置を自由に制御することが可能です。 実装手順 1本目と2本目の折れ線用に、それぞれデータのリストを作成します。 現在の図にサブプロットを追加します(nrow=1、ncols=2、index=1)。 破線(dashed)スタイルで1本目の折れ線を描画します。 自動スケーリングのマージンを設定します(0.2)。 X軸目盛りを偶数の位置(2, 4, 6, 8, 10)に

  2. 【Python入門】Matplotlibで複数のグラフを1つの図に組み合わせる方法(subplot・twinx活用)

    はじめに Matplotlibは、同じグラフ上に複数のプロットを重ねて描画できる強力なPythonの可視化ライブラリです。本チュートリアルでは、2つの異なるY軸を使いながら、1つの図の中に複数のデータを組み合わせて表示する方法を、実際に動くコード例とともにわかりやすく解説します。 事前準備:Matplotlibのインストール まず、Pythonのコマンドプロンプト(ターミナル)を開き、以下のコマンドでmatplotlibをインストールしてください。 pip install matplotlib 手順1:表示するデータを準備する ここでは、iPhone・Galaxy・Pixelの3機種につい