MatplotlibでLaTeX表記を使って軸ラベルを太字にする方法
Matplotlibでは、LaTeXの数式表記を活用することで、軸ラベル(目盛りラベル)を太字で表示できます。この記事では、\bf コマンドを使ってx軸・y軸のラベルを太字にする具体的な手順を解説します。
太字の軸ラベルを作成する手順
- numpy を使って x と y のデータポイントを作成します。
- subplot() メソッドを使用して、現在の図にサブプロットを追加します。
- set_xticks() および set_yticks() メソッドで、それぞれ x と y のデータポイントを目盛りとして設定します。
- plot() メソッドで x と y をプロットします(ここでは色を赤に指定)。
- 太字のフォントウェイトを設定するには、LaTeX表記である
$\bf{...}$を使用します。 - show() メソッドを呼び出して図を表示します。
コード例
import numpy as np
from matplotlib import pyplot as plt, font_manager as fm
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
plt.rcParams["font.fantasy"] = "Comic Sans MS"
x = np.array([1, 2, 3, 4])
y = np.exp(x)
ax1 = plt.subplot()
ax1.set_xticks(x)
ax1.set_yticks(y)
ax1.plot(x, y, c="red")
ax1.set_xticklabels(["$\\bf{one}$", "$\\bf{two}$", "$\\bf{three}$",
"$\\bf{four}$"], rotation=45)
ax1.set_yticklabels(["$\\bf{:.2f}$".format(y[0]), "$\\bf{:.2f}$".format(y[1]),
"$\\bf{:.2f}$".format(y[2]), "$\\bf{:.2f}$".format(y[3])], rotation=45)
plt.tight_layout()
plt.show()
実行結果

ポイント解説
このコードの重要なポイントは、set_xticklabels() と set_yticklabels() に渡す文字列を $\bf{...}$ の形式で記述している点です。Matplotlibはデフォルトでmathtext(LaTeX風の数式レンダリング)をサポートしており、$ 記号で囲まれた部分を数式として描画します。\bf は「bold font」を意味するコマンドで、これによりラベルが太字で表示されます。
また、y軸のラベルでは .format() を使って指数関数の値を小数点以下2桁に整形し、その値ごとに太字表示を適用しています。ラベルが長いため rotation=45 を指定して45度回転させ、グラフを見やすくしています。
-
MatplotlibでグラフのX軸とY軸を入れ替える方法
Matplotlibでグラフの軸(X軸とY軸)を入れ替えたい場合、subplots()メソッドを使って図(figure)を作成し、2つのサブプロットを追加する方法が便利です。1つ目のサブプロットに曲線を描画し、そのX・Yデータを抽出して、2つ目のサブプロットの曲線に設定し直すことで、軸を入れ替えたグラフを作成できます。 手順 NumPyを使って、xとyのデータポイントを作成します。 図を作成し、2つのサブプロットを追加します。 両方のサブプロットにタイトルを設定します。 plot()メソッドを使って、xとyのデータポイントをプロットします。 get_xdata()とget_ydata()を使
-
Tkinterでテキストのフォントを設定する方法をわかりやすく解説
Tkinterには、ウィジェットにさまざまな機能を持たせるための組み込みメソッドや関数が多数用意されています。Tkinterアプリケーションでは、font(フォントファミリー, フォントサイズ, スタイル)属性を使用することで、テキストウィジェットのフォントプロパティを自由にカスタマイズできます。このタプルは、Textウィジェットのコンストラクタ内で直接宣言することが可能です。サンプルコード以下の例では、カスタマイズしたフォントプロパティを持つテキストウィジェットを作成しています。# tkinterライブラリをインポート from tkinter import * from tkinter i