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

Matplotlibのプロット凡例にテキストラベルだけを表示する方法

Matplotlibでプロットの凡例にテキストラベルだけを表示したい場合は、legend()メソッドにhandlelength=0handletextpad=0fancybox=Trueといった引数を指定します。これにより、通常は凡例の左側に表示される線やマーカーなどのハンドル(サンプルグラフィック)が非表示になり、ラベルのテキストのみがすっきりと表示されます。

手順

  • 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。

  • NumPyを使用してランダムな x および y のデータポイントを作成します。

  • subplots()メソッドを使って、図とサブプロットのセットを作成します。

  • plot()メソッドでxとyのデータポイントをプロットし、凡例用のラベルとして「Zig-Zag」を指定します。

  • legend()メソッドで凡例を配置します。このとき、handlelength=0handletextpad=0fancybox=Trueを引数として渡すことで、ハンドルを非表示にし、テキストラベルのみを表示させます。

  • 図を表示するには、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.random.rand(100)
y = np.random.rand(100)
fig, ax = plt.subplots()
ax.plot(x, y, label='Zig-Zag', c="red")
ax.legend(loc="upper right", handlelength=0, handletextpad=0, fancybox=True)
plt.show()

出力結果

上記のコードを実行すると、凡例には線分などのハンドルが表示されず、「Zig-Zag」というテキストラベルだけが右上に表示されます。
Matplotlibのプロット凡例にテキストラベルだけを表示する方法

ポイント解説

  • handlelength=0:凡例内のハンドル(線やマーカーのサンプル)の長さを0にすることで、ハンドル自体を消去します。

  • handletextpad=0:ハンドルとテキストの間の余白を0に設定し、テキストを左端に寄せて自然な見た目にします。

  • fancybox=True:凡例ボックスの角を丸くし、見た目を柔らかくします。不要であればFalseにしても問題ありません。

この手法は、複数の系列を色で区別する必要がなく、単に注釈的な情報を凡例として添えたい場合に特に便利です。

  1. Matplotlibで軸ラベルと凡例に下付き文字(サブスクリプト)を表示する方法

    Matplotlibでは、TeX/LaTeX形式の数式記法($...$)を利用することで、軸ラベルや凡例に下付き文字(サブスクリプト)や上付き文字(スーパースクリプト)を簡単に表示できます。この記事では、その具体的な手順をコード例とともに解説します。 実装手順 データの作成: NumPyを使ってxとyのデータポイントを作成します。 プロット: 上付き文字を含むラベルを付けて、xとyのデータポイントをプロットします。 軸ラベルの設定: 下付き文字を含むテキストで xlabel() と ylabel() を使用します。 凡例の配置: legend() メソッドを使ってプロットに凡例を配置します

  2. Tkinterでラベルのテキストを取得する方法を解説

    TkinterのLabel(ラベル)ウィジェットは、ウィンドウ上にテキストや画像を表示するために使用される基本的なコンポーネントです。フォントファミリーやパディング、幅・高さなどのオプションを指定することで、ラベルの見た目を自由にカスタマイズできます。ラベルに設定したテキストを取得したい場合は、ラベルウィジェットに対して [text] を指定するだけで、簡単にその値へアクセスできます。以下に具体的なサンプルコードを示します。サンプルコード# 必要なライブラリをインポート from tkinter import * # tkinterフレームのインスタンスを作成 win = Tk() # ウ