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

Matplotlibでメジャーティックラベルを非表示にしつつマイナーティックラベルを表示する方法

Matplotlibのグラフ軸には「メジャーティック(主目盛り)」と「マイナーティック(補助目盛り)」の2種類があります。データの性質によっては、主目盛りのラベルを隠しながら、補助目盛りのラベルだけを見せたいケースがあります。

このような場合は、setp()メソッドを使ってメジャーティックラベルの可視性を制御することで簡単に実現できます。以下の手順に従ってください。

手順

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

  • NumPyを使って xy のデータポイントを作成します。

  • xy のデータポイントをプロットします。

  • setp() メソッドを使い、アーティストオブジェクト(メジャーティックラベル)に対して visible=False を設定して非表示にします。

  • show() メソッドで図を表示します。

コード例

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = np.linspace(1, 10, 100)
y = np.log(x)

plt.plot(x, y)

# X軸のメジャーティックラベルを非表示にする
plt.setp(plt.gca().get_xmajorticklabels(), visible=False)

plt.show()

出力結果

Matplotlibでメジャーティックラベルを非表示にしつつマイナーティックラベルを表示する方法

コードのポイント

重要なのは次の1行です。

plt.setp(plt.gca().get_xmajorticklabels(), visible=False)

plt.gca() で現在の軸(Axes)オブジェクトを取得し、get_xmajorticklabels() でX軸のメジャーティックラベルのリストを取得します。そこへ setp()visible=False を渡すことで、すべてのメジャーティックラベルを一括して非表示にできます。

なお、マイナーティックとそのラベルを明示的に有効化したい場合は、ax.minorticks_on()ticker.AutoMinorLocator を組み合わせると便利です。対数スケールのグラフなど、細かい目盛り情報が必要な場面で特に役立ちます。

  1. Matplotlibでサブプロットの目盛りラベルの密度を下げる方法

    Matplotlibでグラフを描画する際、目盛りラベルが多すぎると表示が混雑して読みにくくなることがあります。この問題を解決するには、density(密度)変数に小さな値を設定することで、目盛りラベルの密度を下げることができます。手順目盛りの間隔を制御するための変数 density を初期化します。NumPyを使用して x および y のデータポイントを作成します。plot() メソッドを使って x と y のデータポイントをプロットします。xticks() メソッドを使用して、X軸の目盛り位置とラベルを設定します。show() メソッドで図を表示します。コード例import numpy as

  2. Python/MatplotlibでX軸ラベルを縦向きに表示した棒グラフを作成する方法

    Matplotlibで棒グラフを作成する際、X軸のラベルが長いと文字同士が重なって読みにくくなることがあります。そんなときは、ラベルを縦向き(垂直)に表示するとグラフがぐっと見やすくなります。 基本的な流れは、plt.bar() でバーを作成し、plt.xticks() でX軸の目盛りラベルを設定します。その際、rotation 引数に「vertical」または「horizontal」を指定することで、ラベルの向きを自由に制御できます。 手順 バーの高さを表すリスト bars_heights と、ラベルを表すリスト bars_label を作成します。 bar() メソッドを使い、bars_