[Matplotlib] 棒グラフの作成

[Matplotlib] 棒グラフの作成

棒グラフの作成

 Axes.bar()メソッド を使うと 棒グラフ を作成することができます。以下のサンプルコードは、太陽系外惑星 (Exoplanets) の年毎の発見数を棒グラフで可視化します。

# https://python.atelierkobato.com/bar/

# 太陽系外惑星の発見数 (2010~2014) を棒グラフで表示

# NumPyをインポート
import numpy as np

# matplotlib.pyplotをインポート
import matplotlib.pyplot as plt

# Figureを作成
fig = plt.figure()

# グリッド線の表示
plt.style.use("ggplot")

# FigureにAxesを1つ追加
ax = fig.add_subplot(111)

# Axesのタイトルの設定
ax.set_title("Exoplanets Discovered by Year", fontsize = 14)

# 軸ラベルの設定
ax.set_xlabel("Discovery Year", fontsize = 12)
ax.set_ylabel("Number of New Planets", fontsize = 12)

# xとyのデータを用意
x = [2010, 2011, 2012, 2013, 2014]
y = [119, 185, 123, 132, 904]

# Axesに棒グラフを追加
ax.bar(x,y)

 Python 太陽系外惑星の発見数を棒グラフで可視化
 x の要素には数値だけでなく、文字列を指定することもできます。
 以下のサンプルコードは太陽系の各惑星の衛星(月)の数を棒グラフで表示させます。

# https://python.atelierkobato.com/bar/

# 各惑星の衛星数を棒グラフで表示

# NumPyをインポート
import numpy as np

# matplotlib.pyplotをインポート
import matplotlib.pyplot as plt

# Figureを作成
fig = plt.figure(figsize = (10, 5))

# グリッド線の表示
plt.style.use("ggplot")

# FigureにAxesを1つ追加
ax = fig.add_subplot(111)

# Axesのタイトルの設定
ax.set_title("Number of natural satellites", fontsize = 14)

# 軸ラベルの設定
ax.set_xlabel("Planet", fontsize = 12)
ax.set_ylabel("Number", fontsize = 12)

# 惑星名
x = ["Mercury", "Venus", "Earth", "Mars",\
"Jupiter", "Saturn", "Uranus", "Neptune"]

# 各惑星の衛星数
y = [0, 0, 1, 2, 79, 65, 27, 14]

# Axesに棒グラフを追加
ax.bar(x,y, color = "blue")

 Matplot.lib Axes.bar()メソッド 太陽系の惑星の衛星の数を棒グラフで可視化

 Axes.bar()メソッドの代わりに、Axes.barh()メソッドを使うと、横向きの棒グラフを描くことができますが、その使い方は Axes.bar()メソッドと同じです。

 [参考文献] PythonユーザのためのJupyter[実践]入門