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

【Python】Matplotlibで条件に応じて特定の棒グラフの色だけを変更する方法

Matplotlibで棒グラフを描く際、「ある条件が真の場合だけ特定のバーの色を変えたい」というケースはよくあります。例えば、値が2以外なら赤色、値が2なら黄色にする、といった条件分岐による色の切り替えです。

実装の手順

  • 図のサイズを設定し、サブプロット間・周囲の余白(パディング)を調整します。
  • バーの幅を表す変数を初期化します。
  • データの値リストと、条件に応じた色のリストを作成します。
  • bar()メソッドを使って棒グラフを描画します。
  • show()メソッドで図を表示します。

サンプルコード

ポイントは、リスト内包表記を使って「値が2でなければ赤、2なら黄色」というルールに従ったカラーリストを動的に生成することです。このようにすると、条件に合致するバーだけが異なる色で描画されます。

import numpy as np
import matplotlib.pyplot as plt

# 図のサイズとレイアウトの自動調整を設定
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

data = np.arange(5)
width = 0.5
vals = [1, 2, 1, 5, 3]

# 値が2以外なら「red」、2なら「yellow」のカラーリストを生成
colors = ["red" if i != 2 else "yellow" for i in vals]

plt.bar(data, vals, width, color=colors)
plt.show()

実行結果

上記のコードを実行すると、5本の棒グラフが表示され、そのうち値が「2」のバーだけが黄色で、それ以外のバーは赤色で描画されます。条件式を変更すれば、任意の値や閾値に基づいて柔軟に色を制御できます。


  1. Matplotlibでハッチの線幅を変更する方法

    Matplotlibでハッチ(網掛け)の線幅を変更したい場合は、rcParamsの「hatch.linewidth」パラメータを設定することで実現できます。この記事では、具体的な手順とサンプルコードをわかりやすく解説します。実装の手順図のサイズを設定し、サブプロット間および周囲のパディングを調整します。NumPyを使用して、x および y = sin(x) のデータポイントを作成します。plt.rcParams[hatch.linewidth] を使って、ハッチの線幅を設定します。scatter() メソッドを使用し、「/」ハッチが付いた正方形マーカーで、設定した線幅を適用しながらxとyのデー

  2. matplotlibでカラーバー(Colorbar)の目盛りのフォントサイズを変更する方法

    matplotlibでカラーバーの目盛りラベルのフォントサイズを変更したい場合、tick_params()メソッドを使うのが最も簡単です。ここでは、具体的な手順とサンプルコードを紹介します。カラーバーの目盛りサイズを変更する手順5×5のランダムなデータセットを作成します。imshow()メソッドを使い、データを2次元の正規ラスタ(画像)として表示します。スカラーマッピング可能なオブジェクト(画像)をもとに、カラーバーを作成します。フォントサイズを格納する変数を初期化し、カラーバーの目盛りサイズの変更に備えます。カラーバーの軸に対してtick_params()メソッドを呼び出し、labelsiz