Seaborn でヒートマップのフォント サイズを大きくする

Salman Mehmood 2023年6月21日
Seaborn でヒートマップのフォント サイズを大きくする

この記事は、ヒートマップの基本から始めます。 ヒートマップとは何か、ヒートマップに注釈を付ける方法を学びます。

また、Seaborn ヒートマップで目盛りラベルのフォント サイズを変更する方法についても説明します。

Seaborn でヒートマップのフォント サイズを大きくする

ヒートマップは、色を使用してデータの大きさをグラフィカルに表現するために使用されるデータ視覚化ツールです。 特定のデータセットから値を簡単に識別するのに役立ちます。

まず、Seaborn ライブラリ、Matplotlib、および NumPy をインポートします。 車に関する Seaborn からいくつかのデータを読み込みます。

import seaborn as sb
import matplotlib.pyplot as plot
import numpy as np

CARS = sb.load_dataset("mpg")
CARS.head()

各行には、特定の車に関する統計が表示されます。

seaborn ヒートマップ フォント サイズの出力 1

ヒート マップを作成する前に、そのデータの一部をグループ化しましょう。

CARS.groupby("origin").cylinders.value_counts()

各車が製造された原産地または地域別にグループ化し、各車のシリンダー数も調べます。 値のカウントを行っているだけなので、ヨーロッパなどから 4 気筒の異なる車が 63 台あったことがわかります。

seaborn ヒートマップ フォント サイズの出力 2

これらのデータにはこのマルチレベル インデックスがあることがわかるので、データをアンスタックする必要があります。 これらの欠損値をゼロで埋めます。

ORIGIN_CYL = CARS.groupby("origin").cylinders.value_counts().unstack().fillna(0)

これで、各地域で各気筒数の自動車が何台生産されたかがわかります。

seaborn ヒートマップ フォント サイズの出力 3

これで、最初のヒートマップを作成する準備が整いました。 Seaborn 内でヒートマップを作成するには、heatmap() メソッドを呼び出して ORIGIN_CYL データ フレームを渡すことで Seaborn ライブラリを参照するだけです。

import seaborn as sb
import matplotlib.pyplot as plot
import numpy as np

CARS = sb.load_dataset("mpg")
CARS.head()

CARS.groupby("origin").cylinders.value_counts()

ORIGIN_CYL = CARS.groupby("origin").cylinders.value_counts().unstack().fillna(0)
sb.heatmap(ORIGIN_CYL)
plot.show()

ここにさまざまな行と列が表示され、それぞれの値を特定の色にマッピングしました。 低い値は暗い色合いにマッピングされ、高い値は明るい色合いにマッピングされました。

seaborn ヒートマップ フォント サイズの出力 4

T プロパティを使用して、ヒートマップをかなり簡単に転置できます。

import seaborn as sb
import matplotlib.pyplot as plot
import numpy as np

CARS = sb.load_dataset("mpg")
CARS.head()

CARS.groupby("origin").cylinders.value_counts()

ORIGIN_CYL = CARS.groupby("origin").cylinders.value_counts().unstack().fillna(0)
sb.heatmap(ORIGIN_CYL.T)
plot.show()

マトリックスを完全に反転させます。 cylinders は行を表し、origins は列を表します。

seaborn ヒートマップ フォント サイズ 出力 5

annot_kws という引数を使用して注釈をスタイルすることもできます。 この引数はディクショナリを受け入れ、さまざまなタイプのプロパティを渡すことができます。

fontsizefontweight、および fontfamily を変更できます。

import seaborn as sb
import matplotlib.pyplot as plot
import numpy as np

CARS = sb.load_dataset("mpg")
CARS.head()

CARS.groupby("origin").cylinders.value_counts()

ORIGIN_CYL = CARS.groupby("origin").cylinders.value_counts().unstack().fillna(0)

sb.heatmap(
    ORIGIN_CYL,
    cmap="Blues",
    annot=True,
    fmt=".0f",
    annot_kws={"fontsize": 16, "fontweight": "bold", "fontfamily": "serif"},
)


plot.show()

fontsize プロパティは、ヒートマップのフォント サイズを大きくします。

seaborn ヒートマップ フォント サイズ 出力 6

square 引数を使用して、これらの長方形のサイズを変更できます。 これらの各長方形を完全な正方形にするかどうかを指定できます。 これを True に設定することでオンにできます。

import seaborn as sb
import matplotlib.pyplot as plot
import numpy as np

CARS = sb.load_dataset("mpg")

sb.heatmap(CARS.corr(), cmap="RdBu", square=True)

plot.show()

出力:

seaborn ヒートマップ フォント サイズ 出力 7

著者: Salman Mehmood
Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn

関連記事 - Seaborn Heatmap