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

Matplotlibのannotate()で1つの注釈ごとに異なるフォントサイズを指定する方法

Matplotlibでは、annotate()メソッドを使って複数のテキストを描画する際、それぞれの注釈に異なるフォントサイズを簡単に指定できます。ここでは、その具体的な手順とサンプルコードを紹介します。

実装の手順

  • テキストを配置したいx座標とy座標のデータポイントをリストとして用意します。
  • 表示するラベル文字列(例:'Welcome')を変数として初期化します。
  • 各文字に適用するフォントサイズのリストを作成します。
  • subplots()メソッドを使って、図(figure)とサブプロット(axes)を生成します。
  • 各リストをzipでまとめてループ処理し、ax.annotate()で各文字を注釈として配置しながら、個別にfontsizeを設定します。
  • 最後にshow()メソッドを呼び出して、図を表示します。

サンプルコード

import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
X = [0.1, .2, .3, .4, .5, .6, 0.8]
Y = [0.1, 0.12, 0.13, 0.20, 0.23, 0.25, 0.27]
labels = 'Welcome'
sizes = [10, 20, 30, 40, 50, 60, 70]
fig, ax = plt.subplots()
for x, y, label, size in zip(X, Y, labels, sizes):
    ax.annotate(f"$\it{label}$", (x, y), fontsize=size, color='red')
plt.show()

実行結果

このコードを実行すると、「Welcome」の各文字が異なるフォントサイズ(10〜70ポイント)で赤色にイタリック体表示され、サイズが徐々に大きくなりながらグラフ上に配置されます。

このように、zip関数で複数のリストを組み合わせてループ処理することで、1つの図の中でも注釈ごとに柔軟なスタイル指定が可能になります。色やフォントファミリーなども同様の方法で個別にカスタマイズできます。

  1. matplotlib.pyplot.scatterのデフォルトの青色を取得する方法を解説

    matplotlibでscatter()メソッドを使って散布図を描くとき、色を指定しなければ点は自動的に青色(#1f77b4)で描画されます。この記事では、matplotlibのscatterプロットにおけるデフォルトの青色を実際に確認・取得する方法を、コード例とともにわかりやすく解説します。 デフォルトの青色とは matplotlibのデフォルトのカラーサイクル(C0)に含まれる最初の色が#1f77b4であり、これがscatterプロットで色を指定しない場合に使われる青色です。以下のサンプルコードでは、色を指定せずに描いた点と、16進数カラーコード「#1f77b4」を明示的に指定して描いた点

  2. MatplotlibでSeabornプロットの凡例(レジェンド)のフォントサイズを大きくする方法

    Seabornプロットの凡例(レジェンド)のフォントサイズを大きくしたい場合は、fontsize変数を定義し、それをlegend()メソッドの引数として渡すことで実現できます。手順Pandasを使ってデータフレームを作成します。キーは「number」「count」「select」とします。Seabornのbarplot()メソッドを使って棒グラフを描画します。凡例のフォントサイズを大きくするための変数fontsizeを初期化します。legend()メソッドを使い、fontsizeを引数に指定して図上に凡例を配置します。図を表示するには、show()メソッドを使用します。サンプルコードimpor