見出し画像

84 横棒グラフ攻略編 Pythonでの描き方

こんにちは!TechCommitメンバーの友季子です♬今回は、横棒グラフについてまとめてみます。データを視覚的に表現する手段として非常に便利な横棒グラフの魅力を、特にPythonを学ばれている方の参考になる部分があれば幸いです。


1. 横棒グラフの基本的な描画

横棒グラフは、データを横方向に表示するためのグラフです。
縦棒グラフを作るのに使う、barメゾットではなくてbarhメゾットを使うことで横棒グラフを作成できます。
特にカテゴリが多い場合や長いラベルがある場合に適しています。
以下のコードで基本的な横棒グラフを描いてみましょう!

import matplotlib.pyplot as plt
import numpy as np

# データの生成
categories = ['Category A', 'Category B', 'Category C', 'Category D']
values = [5, 7, 3, 8]

# 横棒グラフの描画
plt.barh(categories, values, color='skyblue')

# グラフのタイトルとラベル
plt.title('Horizontal Bar Graph')
plt.xlabel('Values')
plt.ylabel('Categories')

# グリッドを表示
plt.grid(axis='x')

# グラフを表示
plt.show()


このコードを実行すると、指定したカテゴリの横棒グラフが描かれます。データの視覚化がシンプルで、わかりやすいですよね!


2. カスタマイズされた横棒グラフ

横棒グラフは、さまざまなカスタマイズが可能です。色を変更したり、ラベルを追加したりすることで、より見やすくできます。

a. 棒の色を変更

# データの生成
categories = ['Category A', 'Category B', 'Category C', 'Category D']
values = [5, 7, 3, 8]
colors = ['blue', 'orange', 'green', 'red']  # 色のリスト

# 横棒グラフの描画
plt.barh(categories, values, color=colors)

# グラフのタイトルとラベル
plt.title('Colored Horizontal Bar Graph')
plt.xlabel('Values')
plt.ylabel('Categories')

# グリッドを表示
plt.grid(axis='x')

# グラフを表示
plt.show()

このように色を変えることで、視覚的に魅力的なグラフが出来上がります!


b. 棒のラベルを追加

# データの生成
categories = ['Category A', 'Category B', 'Category C', 'Category D']
values = [5, 7, 3, 8]

# 横棒グラフの描画
plt.barh(categories, values, color='lightgreen')

# 各棒の右側に値を表示
for i in range(len(values)):
    plt.text(values[i], i, str(values[i]), va='center')

# グラフのタイトルとラベル
plt.title('Horizontal Bar Graph with Values')
plt.xlabel('Values')
plt.ylabel('Categories')

# グリッドを表示
plt.grid(axis='x')

# グラフを表示
plt.show()

値を表示することで、どのくらいの値か一目瞭然になりますね!

3. 横棒グラフの応用

横棒グラフはデータの比較にとても便利です。特に異なるカテゴリ間のデータを比較したり、長いラベルを扱ったりする際に適しています。以下に、値に基づいて棒を並び替えた例を示します。

c. 値に基づいて棒を並び替え

# データの生成
categories = ['Category A', 'Category B', 'Category C', 'Category D']
values = [5, 7, 3, 8]

# 値に基づいて並び替え
sorted_indices = np.argsort(values)[::-1]  # 降順でソート
sorted_categories = [categories[i] for i in sorted_indices]
sorted_values = [values[i] for i in sorted_indices]

# 横棒グラフの描画
plt.barh(sorted_categories, sorted_values, color='purple')

# グラフのタイトルとラベル
plt.title('Sorted Horizontal Bar Graph')
plt.xlabel('Values')
plt.ylabel('Categories')

# グリッドを表示
plt.grid(axis='x')

# グラフを表示
plt.show()

このように、横棒グラフを使うことでデータの傾向を視覚的に表現することができます!


終わりに

横棒グラフは、データの視覚化において非常に効果的なツールです。カテゴリごとの比較が容易で、特に長いラベルを扱う際に適しています。matplotlibを使ってさまざまなスタイルやカスタマイズを試しながら、データの視覚化に役立ててください!もし今回の内容が参考になるものがあれば幸いです。

この記事が気に入ったらサポートをしてみませんか?