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

MatplotlibでLaTeX出力と同じフォントを表示する方法

MatplotlibのグラフでLaTeX風フォントを使用する方法

Matplotlibでグラフを作成する際、軸ラベルやタイトルをLaTeXと同じ数式フォントで表示したいケースは多くあります。LaTeX形式($...$ で囲まれた記法)を使えば、数式を美しく描画できます。ここでは、sin関数のカーブをLaTeX表記でプロットし、タイトルにカスタムフォントを適用する手順を紹介します。

実装の手順

  • NumPyを使って x 軸のデータポイントを作成します。
  • y = sin(x) に基づいて y 軸のデータポイントを作成します。
  • LaTeX表記(r'$\sin (x)$')を使用して、x と y の曲線をプロットします。
  • 凡例を有効にするには legend() メソッドを使用します。
  • 図を表示するには show() メソッドを使用します。

サンプルコード

import numpy as np
from matplotlib import pyplot as plt, font_manager as fm
fprop = fm.FontProperties(fname='/usr/share/fonts/truetype/malayalam/Karumbi.ttf')
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
x = np.linspace(1, 10, 1000)
y = np.sin(x)
plt.plot(x, y, label=r'$\sin (x)$', c="red", lw=2)
plt.title(label=r'$\sin (x)$', fontproperties=fprop)
plt.show()

コードの解説

  • fm.FontProperties(): フォントファイル(.ttf)へのパスを指定して、独自のフォントを読み込みます。環境に合わせてパスを変更してください。
  • plt.rcParams: 図のサイズを 7.50 × 3.50 インチに設定し、レイアウトを自動調整しています。
  • r'$\sin (x)$': 先頭に r を付けたraw文字列でLaTeX数式を記述すると、Matplotlibが数式として解釈し、LaTeXと同じような見た目で描画します。

出力結果

上記のコードを実行すると、赤い曲線で描かれた正弦波が表示され、タイトルには指定したフォントで「$\sin (x)$」というLaTeX形式の数式が反映されます。

  1. matplotlibでカラーバー(Colorbar)の目盛りのフォントサイズを変更する方法

    matplotlibでカラーバーの目盛りラベルのフォントサイズを変更したい場合、tick_params()メソッドを使うのが最も簡単です。ここでは、具体的な手順とサンプルコードを紹介します。カラーバーの目盛りサイズを変更する手順5×5のランダムなデータセットを作成します。imshow()メソッドを使い、データを2次元の正規ラスタ(画像)として表示します。スカラーマッピング可能なオブジェクト(画像)をもとに、カラーバーを作成します。フォントサイズを格納する変数を初期化し、カラーバーの目盛りサイズの変更に備えます。カラーバーの軸に対してtick_params()メソッドを呼び出し、labelsiz

  2. Matplotlibで2つのヒストグラムのビン幅を揃える方法

    Matplotlibで2つのヒストグラムを比較する際、ビン幅が異なると正確な比較ができません。そこで、データセット全体から共通のビン境界を計算することで、両方のヒストグラムのビン幅を揃えることができます。手順ランダムデータ a と、正規分布に基づくデータ b を作成します。共通のビン幅を定義するための変数 bins を初期化します。hist() メソッドを使って、a と共通ビンでヒストグラムを描画します。hist() メソッドを使って、b と同じ共通ビンでヒストグラムを描画します。図を表示するには show() メソッドを使用します。サンプルコードimport numpy as np from