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

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

Matplotlibで棒グラフを作成する際、X軸のラベルが長いと文字同士が重なって読みにくくなることがあります。そんなときは、ラベルを縦向き(垂直)に表示するとグラフがぐっと見やすくなります。

基本的な流れは、plt.bar() でバーを作成し、plt.xticks() でX軸の目盛りラベルを設定します。その際、rotation 引数に「vertical」または「horizontal」を指定することで、ラベルの向きを自由に制御できます。

手順

  • バーの高さを表すリスト bars_heights と、ラベルを表すリスト bars_label を作成します。

  • bar() メソッドを使い、bars_heights の値と bars_label の要素数を指定して棒グラフを描画します。

  • xticks() メソッドに rotation='vertical'bars_label を渡して、X軸の目盛り位置とラベルを設定します。これによりラベルが縦向きに表示されます。

  • plt.show() メソッドを実行して、グラフを画面に表示します。

サンプルコード

from matplotlib import pyplot as plt

bars_heights = [14, 8, 10]
bars_label = ["A label", "B label", "C label"]

plt.bar(range(len(bars_label)), bars_heights)
plt.xticks(range(len(bars_label)), bars_label, rotation='vertical')
plt.show()

出力結果

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

補足:ラベルの向きと位置の微調整

rotation='vertical' の代わりに rotation=90 と角度を数値で指定しても同じ結果になります。また、ha(水平方向の配置)や va(垂直方向の配置)引数を組み合わせると、回転したラベルの軸との距離や位置関係を細かく調整できます。

例えば、右端のラベルがグラフ領域からはみ出す場合は、ha='right' を指定すると綺麗に収まります。

  1. Matplotlibを使ってPythonで複数の図を横並びに描画する方法

    Matplotlibで複数の図を並べて描画する手順 PythonのMatplotlibを使えば、subplot()メソッドを活用することで、複数の図を1つのウィンドウ内に横一列に並べて簡単に表示できます。ここでは、同じランダムデータを4種類のカラーマップで可視化する例を紹介します。 具体的には、以下の手順で実装します。 numpyを使ってランダムなデータ(5×5の行列)を作成します。 plt.subplot(nrows, ncols, index)で現在の図にサブプロットを追加します。今回は「nrows=1、ncols=4」のレイアウトで、index=1から順に配置していきます。 imsho

  2. Matplotlibのラベルに改行を入れる方法|Pythonサンプルコード付きで解説

    本記事では、PythonのMatplotlibを使って、グラフの軸ラベルに改行を挿入する方法を解説します。「\n」を活用することで、X軸やY軸のラベルを複数行に分けて見やすく表示できます。 実装手順 「\n」を使用して、X軸・Y軸それぞれのラベルに改行を含めたテキストを設定します。 plt.rc()メソッドで現在のrcParamsを設定し、axesグループに対してプロパティサイクルを適用します。 cyclerを使って、線の色のグループを設定します。色のリストは「r」(赤)、「g」(緑)、「b」(青)、「y」(黄)で構成されます。 Cyclerクラスは、単一の位置引数、2つの位置引数のペア、ま