【matplotlib】棒グラフのバーの枠線(エッジ)を制御する方法
matplotlibで作成する棒グラフ(バーパッチ)の境界線・枠線を制御したい場合は、bar()メソッドの引数を活用することで簡単に実現できます。本記事では、edgecolorで枠線の色を指定し、linewidthで枠線の太さを変更する方法を、具体的なコード例とともに解説します。
実装の手順
図のサイズを設定し、サブプロット間および周囲の余白(パディング)を自動調整します。
各バーの高さをリストとして、X軸のラベルをタプルとして定義します。
bar()メソッドの引数にedgecolorを指定し、バーの枠線の色を制御します。ここでは
edgecolor='green'を使用しています。X軸の目盛りとラベルを設定します。
図を表示するには、最後にplt.show()メソッドを呼び出します。
コード例
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
height = [3, 12, 5, 18, 45]
labels = ('P1', 'P2', 'P3', 'P4', 'P5')
x_pos = np.arange(len(labels))
plt.bar(x_pos, height, color=(0.9, 0.7, 0.1, 0.5), edgecolor='green')
plt.xticks(x_pos, labels)
plt.show()
出力結果
上記のコードを実行すると、緑色の枠線を持つ半透明のオレンジ色のバーが描画され、次のような図が出力されます。

枠線の太さを変更するには
枠線の幅を変更したい場合は、bar()メソッドにlinewidthパラメータを追加します。たとえば linewidth=5 を指定すると、枠線が大きく強調され、次のような出力になります。

まとめ
matplotlibでは、edgecolor引数でバーの枠線の色を、linewidth引数で枠線の太さをそれぞれ制御できます。これらのパラメータを組み合わせることで、データの視認性を高め、より見やすい棒グラフを作成できます。なお、edgecolorは色名のほか、RGBタプルや16進数カラーコードでも指定できるため、デザインに合わせて柔軟にカスタマイズ可能です。
-
Matplotlibのplt.colorbarでカラーバーの目盛り(ティック)数を設定する方法
Matplotlibでカラーバーの目盛り(ティック)の数や位置を設定するには、set_ticks()メソッドとset_ticklabels()メソッドを使用します。以下の手順で簡単に実装できます。 手順 NumPyを使ってランダムなデータを作成する imshow()メソッドでデータを画像として表示する(2次元の正規ラスタ上に描画) スカラーマッピング可能なオブジェクト(ScalarMappable)を引数に指定して、colorbar()メソッドでカラーバーを作成する set_ticks()とset_ticklabels()メソッドで、カラーバーの目盛りの位置とラベルを設定する show()メ
-
Matplotlibで凡例ボックスのサイズを調整する方法
Matplotlibの凡例ボックスのサイズを調整するには、legend()メソッドのborderpad引数を使用します。borderpadの値を大きくするほど、凡例ボックス内の余白が広がり、ボックス全体のサイズも大きくなります。手順異なる線幅(linewidth)を持つ2つのリストを使って、line1とline2を作成します。図に凡例を配置し、凡例ボックスのサイズを調整するために、legend()メソッドでborderpad=2を指定します。図を表示するには、show()メソッドを使用します。サンプルコードfrom matplotlib import pyplot as plt plt.rcP