【はじめに】
今回は、Matplotlibのmatplotlib.pyplot.plot
メソッドの引数を一覧にしました。
また、実際に引数を使用して基本的な折れ線グラフの作成方法も紹介します。
Matplotlibの基本となるメソッドなので、この機会にマスターしていきましょう。
本記事の内容
- matplotlob.pyplot.plotの引数一覧
- 基本的な折れ線グラフを作成する
- 線の太さや色など見た目を設定する
- マーカーを表示する
- 凡例、タイトル、ラベルを表示する
【matplotlob.pyplot.plotの引数一覧】
matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs)
引数 | 指定する値 |
---|---|
xdata (必須) | X 軸方向の数値 |
ydata (必須) | Y 軸方向の数値 |
linewidth | 線の太さ |
linestyle | 線のスタイル。’solid’ (実線), ‘dashed’ (破線), ‘dashdot’ (破線&点線), ‘dotted’ (点線) から指定。(デフォルト値:’solid’) |
color | 線の色 |
marker | マーカーの種類(デフォルト値:’None’) |
markersize | マーカーの大きさ |
markeredgewidth | マーカーの枠線の太さ |
markeredgecolor | マーカーの枠線の色 |
markerfacecolor | マーカーの塗りつぶしの色 |
fillstyle | マーカーの塗りつぶしのスタイル。’full’ (全体), ‘left’ (左半分), ‘right’ (右半分), ‘bottom’ (下半分), ‘top’ (上半分), ‘none’ (塗りつぶしなし) から選択 |
label | 凡例に表示させる名前を指定 |
【基本的な折れ線グラフを作成する】
今回、「1920年から2015年までの全国の人口推移のデータ」を使用してグラフを作成してみます。
私のGitHubに「data.csv」としてアップロードしてあるので、下記コマンドでダウンロードすれば簡単に準備できます。
$ curl https://raw.githubusercontent.com/nakachan-ing/python-references/master/Pandas/data.csv -O
import pandas as pd
df = pd.read_csv('data.csv', encoding='shift-jis')
df.head()
都道府県コード | 都道府県名 | 元号 | 和暦(年) | 西暦(年) | 人口(総数) | 人口(男) | 人口(女) | |
---|---|---|---|---|---|---|---|---|
0 | 1 | 北海道 | 大正 | 9 | 1920 | 2359183 | 1244322 | 1114861 |
1 | 2 | 青森県 | 大正 | 9 | 1920 | 756454 | 381293 | 375161 |
2 | 3 | 岩手県 | 大正 | 9 | 1920 | 845540 | 421069 | 424471 |
3 | 4 | 宮城県 | 大正 | 9 | 1920 | 961768 | 485309 | 476459 |
4 | 5 | 秋田県 | 大正 | 9 | 1920 | 898537 | 453682 | 444855 |
必須の引数のみでグラフを作成 | xdata, ydata
1920年から2015年までの東京都の人口(総数)の推移をグラフにしてみます。
# 1920年から2015年までの東京都の人口(総数)をdf_tokyoとする
df_tokyo = df[df['都道府県名']=='東京都']
df_tokyo.head()
都道府県コード | 都道府県名 | 元号 | 和暦(年) | 西暦(年) | 人口(総数) | 人口(男) | 人口(女) | |
---|---|---|---|---|---|---|---|---|
12 | 13 | 東京都 | 大正 | 9 | 1920 | 3699428 | 1952989 | 1746439 |
59 | 13 | 東京都 | 大正 | 14 | 1925 | 4485144 | 2387609 | 2097535 |
106 | 13 | 東京都 | 昭和 | 5 | 1930 | 5408678 | 2855323 | 2553355 |
153 | 13 | 東京都 | 昭和 | 10 | 1935 | 6369919 | 3325696 | 3044223 |
200 | 13 | 東京都 | 昭和 | 15 | 1940 | 7354971 | 3795875 | 3559096 |
import matplotlib.pyplot as plt
import japanize_matplotlib
%matplotlib inline
# xに「西暦(年)」、yに「人口(総数)」を指定する
x = df_tokyo['西暦(年)']
y = df_tokyo['人口(総数)']
# グラフの大きさをplt.figureで指定しておきます。
plt.figure(figsize=(10,8))
plt.plot(x, y)
【線の太さや色など見た目を設定する】
線の太さを「5」、線の色を赤(red)に指定してグラフを作成する | linewidth, color
# グラフの大きさをplt.figureで指定しておきます。
plt.figure(figsize=(10,8))
plt.plot(x, y, linewidth=5, color='red')
複数の折れ線グラフを表示する | solid:実線, dashed:破線, dotted:点線
1920年から2015年までの東京都、埼玉県、神奈川県の人口(総数)の推移をそれぞれグラフにしてみます。
# 1920年から2015年までの埼玉県、神奈川県の人口(総数)を取得し、それぞれdf_saitama, df_kanagawaとする
df_saitama = df[df['都道府県名']=='埼玉県']
df_saitama.head()
都道府県コード | 都道府県名 | 元号 | 和暦(年) | 西暦(年) | 人口(総数) | 人口(男) | 人口(女) | |
---|---|---|---|---|---|---|---|---|
10 | 11 | 埼玉県 | 大正 | 9 | 1920 | 1319533 | 641161 | 678372 |
57 | 11 | 埼玉県 | 大正 | 14 | 1925 | 1394461 | 682052 | 712409 |
104 | 11 | 埼玉県 | 昭和 | 5 | 1930 | 1459172 | 718779 | 740393 |
151 | 11 | 埼玉県 | 昭和 | 10 | 1935 | 1528854 | 753802 | 775052 |
198 | 11 | 埼玉県 | 昭和 | 15 | 1940 | 1608039 | 798321 | 809718 |
df_kanagawa = df[df['都道府県名']=='神奈川県']
df_kanagawa.head()
都道府県コード | 都道府県名 | 元号 | 和暦(年) | 西暦(年) | 人口(総数) | 人口(男) | 人口(女) | |
---|---|---|---|---|---|---|---|---|
13 | 14 | 神奈川県 | 大正 | 9 | 1920 | 1323390 | 689751 | 633639 |
60 | 14 | 神奈川県 | 大正 | 14 | 1925 | 1416792 | 739699 | 677093 |
107 | 14 | 神奈川県 | 昭和 | 5 | 1930 | 1619606 | 839309 | 780297 |
154 | 14 | 神奈川県 | 昭和 | 10 | 1935 | 1840005 | 951348 | 888657 |
201 | 14 | 神奈川県 | 昭和 | 15 | 1940 | 2188974 | 1137936 | 1051038 |
# xに「西暦(年)」、y_tokyo, y_saitama, y_kanagawaにそれぞれの「人口(総数)」を指定する
x = df_tokyo['西暦(年)']
y_tokyo = df_tokyo['人口(総数)']
y_saitama = df_saitama['人口(総数)']
y_kanagawa = df_kanagawa['人口(総数)']
# グラフの大きさをplt.figureで指定しておきます。
plt.figure(figsize=(10,8))
plt.plot(x, y_tokyo, linestyle='solid', label='東京都')
plt.plot(x, y_saitama, linestyle='dashed', label='埼玉県')
plt.plot(x, y_kanagawa, linestyle='dotted', label='神奈川県')
# 凡例を表示します。
plt.legend()
ポイント
- 複数のグラフがどのデータを示しているのかを分かりやすくするため、引数
label
に凡例に表示する名前を指定します。 plt.legend()
で凡例を表示します。
【マーカーを表示する】
マーカー(丸印: o)、枠線なしでグラフを作成する | marker, markeredgewidth
# グラフの大きさをplt.figureで指定しておきます。
plt.figure(figsize=(10,8))
plt.plot(x, y_tokyo, marker='o', markeredgewidth=0)
ポイント
引数marker
で指定できる種類は次のものがあります。
指定できるマーカー | マーカーの説明 |
---|---|
‘.’ | point marker |
‘,’ | pixel marker |
‘o’ | circle marker |
‘v’ | triangle_down marker |
‘^’ | triangle_up marker |
‘<‘ | triangle_left marker |
‘>’ | triangle_right marker |
‘1’ | tri_down marker |
‘2’ | tri_up marker |
‘3’ | tri_left marker |
‘4’ | tri_right marker |
‘8’ | octagon marker |
‘s’ | square marker |
‘p’ | pentagon marker |
‘P’ | plus (filled) marker |
‘*’ | star marker |
‘h’ | hexagon1 marker |
‘H’ | hexagon2 marker |
‘+’ | plus marker |
‘x’ | x marker |
‘X’ | x (filled) marker |
‘D’ | diamond marker |
‘d’ | thin_diamond marker |
‘_’ | hline marker |
マーカーのサイズ、枠線のサイズ、枠線の色、塗りつぶしの色を指定してグラフを作成する
marker, markersize, markeredgewidth, markeredgecolor, markerfacecolor
# グラフの大きさをplt.figureで指定しておきます。
plt.figure(figsize=(10,8))
plt.plot(x, y_tokyo, marker='D', markersize=12, markeredgewidth=3, markeredgecolor='blue', markerfacecolor='lightblue')
【凡例、タイトル、ラベルを表示する】
凡例、タイトル、X 軸、Y 軸の名前 (ラベル)、グリッド線を表示してグラフを作成する
# グラフの大きさをplt.figureで指定しておきます。
plt.figure(figsize=(10,8))
plt.plot(x, y_tokyo, linestyle='solid', label='東京都')
plt.plot(x, y_saitama, linestyle='dashed', label='埼玉県')
plt.plot(x, y_kanagawa, linestyle='dotted', label='神奈川県')
# 凡例を表示します。
plt.legend()
# タイトルを表示します。
plt.title('1920年から2015年までの東京都、埼玉県、神奈川県の人口推移')
# X軸のラベルを表示します。
plt.xlabel('西暦(年)')
# Y軸のラベルを表示します。
plt.ylabel('人口')
# グリッドを表示します。
plt.grid(True)
【さいごに】
今回は、Matplotlibのmatplotlib.pyplot.plot
メソッドの引数を紹介しました。
Matplotlibの基本となるメソッドなので、是非参考にしてください。
また、使用したCSVファイルやJupyter NotebookはGitHubに公開しています。
Jupyter Notebookは下記コマンドでダウンロードできるので、自由に使って是非練習してみてください。
$ curl https://raw.githubusercontent.com/nakachan-ing/python-references/master/Matplotlib%26Seaborn/matplotlib.pyplot.plotの引数.ipynb -O
python-references/Matplotlib&Seaborn at master · nakachan-ing/python-references
Contribute to nakachan-ing/python-references development by creating an account on GitHub.
matplotlib.pyplot.plot — Matplotlib 3.9.0 documentation
コメント