matplotlib入門
準備中です。
線グラフ
このプログラムでは、hoursに0時から23時までの時間を、temperaturesに仮の気温データを設定しています。plt.plot()関数で線グラフを描画し、plt.show()で表示します。
import matplotlib.pyplot as plt
# 1日の時間(0時から23時まで)
hours = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]
# hours = range(0, 24)
# or
# hours = list(range(0,24))
# 仮の気温データ(例として、朝から昼にかけて気温が上がり、夜にかけて下がるパターン)
temperatures = [12, 11, 10, 9, 8, 8, 9, 12, 16, 20, 23, 25, 27, 28, 27, 25, 22, 20, 18, 16, 15, 14, 13, 12]
# プロットの作成
plt.plot(hours, temperatures, marker='o')
plt.title('Hourly Temperature Throughout the Day') # タイトルを英語に設定
plt.xlabel('Hour of the Day') # x軸のラベル
plt.ylabel('Temperature (°C)') # y軸のラベル
plt.grid(True) # グリッドの表示
plt.xticks(hours) # x軸の目盛りを1時間ごとに設定
plt.show() # グラフの表示
このコードでは、numpy
を使ってデータを生成し、matplotlib
を使ってそのデータをプロットしています。plt.plot()
関数で線グラフを描画し、plt.show()
で表示します。
import matplotlib.pyplot as plt
import numpy as np
# データの準備
x = np.linspace(0, 10, 100) # 0から10までの100点のデータを生成
y = np.sin(x) # サイン波を生成
# プロットの作成
plt.plot(x, y)
plt.title('Basic Line Graph') # タイトルを英語に設定
plt.xlabel('x-axis') # x軸のラベル
plt.ylabel('y-axis') # y軸のラベル
plt.grid(True) # グリッドの表示
plt.show() # グラフの表示
複数のデータセットを表示する線グラフのプログラム例です。このプログラムでは、サイン波とコサイン波の2つのデータセットを同じグラフにプロットし、タイトルを英語に設定しています。plt.legend()
で凡例を表示し、どの線がどのデータセットに対応しているかを示しています。
import matplotlib.pyplot as plt
import numpy as np
# データの準備
x = np.linspace(0, 10, 100) # 0から10までの100点のデータを生成
y1 = np.sin(x) # サイン波を生成
y2 = np.cos(x) # コサイン波を生成
# プロットの作成
plt.plot(x, y1, label='sin(x)') # サイン波のプロット
plt.plot(x, y2, label='cos(x)') # コサイン波のプロット
plt.legend() # 凡例の表示
plt.title('Displaying Multiple Datasets') # タイトルを英語に設定
plt.xlabel('x-axis') # x軸のラベル
plt.ylabel('y-axis') # y軸のラベル
plt.grid(True) # グリッドの表示
plt.show() # グラフの表示
棒グラフ
このコードでは、x
にカテゴリ名、y
にそれぞれのカテゴリの値を設定しています。plt.bar()
関数を使って棒グラフを作成し、plt.show()
で表示します。
import matplotlib.pyplot as plt
# データの準備
x = ['A', 'B', 'C', 'D']
y = [10, 20, 15, 25]
# 棒グラフの作成
plt.bar(x, y)
# グラフのタイトルとラベルの設定
plt.title('Sample Bar Chart')
plt.xlabel('Categories')
plt.ylabel('Values')
# グラフの表示
plt.show()
円グラフ
このコードでは、plt.pie()
関数を使って円グラフを作成しています。autopct='%1.1f%%'
は各セグメントの割合をパーセンテージで表示するためのフォーマットです。startangle=90
は円グラフの開始角度を設定しています。
import matplotlib.pyplot as plt
# データの準備
labels = ['A', 'B', 'C', 'D']
sizes = [10, 20, 15, 25]
# 円グラフの作成
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90)
# グラフのタイトル設定
plt.title('Sample Pie Chart')
# グラフの表示
plt.show()
散布図
このコードでは、numpy
を使って50個のランダムなデータポイントを生成し、それをplt.scatter()関数を使って散布図として表示しています。
import matplotlib.pyplot as plt
import numpy as np
# データの準備
x = np.random.rand(50) * 100 # 0から100の範囲でランダムな値を生成
y = np.random.rand(50) * 100 # 0から100の範囲でランダムな値を生成
# 散布図の作成
plt.scatter(x, y)
# グラフのタイトルとラベルの設定
plt.title('Sample Scatter Plot')
plt.xlabel('X Values')
plt.ylabel('Y Values')
# グラフの表示
plt.show()
本来は ( y = x ) に乗るデータに誤差を加えた散布図を作成するプログラム例を示します。
このコードでは、np.linspace
を使って0から100の範囲で等間隔の20個のデータを生成し、np.random.normal
を使って平均0、標準偏差10の正規分布に従う誤差を加えて、それをplt.scatter()関数を使って散布図として表示しています。さらに、plt.plot
()関数を使って理想的な直線 ( y = x ) を赤い破線で表示しています。
import matplotlib.pyplot as plt
import numpy as np
# データの準備
x = np.linspace(0, 100, 20) # 0から100の範囲で等間隔の20個のデータを生成
y = x + np.random.normal(0, 10, 20) # y = x に正規分布に従う誤差を加える
# 散布図の作成
plt.scatter(x, y)
# y = x の直線を追加
plt.plot(x, x, color='red', linestyle='--', label='y = x')
# グラフのタイトルとラベルの設定
plt.title('Scatter Plot with Noise')
plt.xlabel('X Values')
plt.ylabel('Y Values')
plt.legend()
# グラフの表示
plt.show()