描画スタイルしたい(matplotlib.rcParams)
1import matplotlib as mpl
2
3mpl.rcParams["figure.figsize"] = (6, 4)
4mpl.rcParams["figure.dpi"] = 200
5mpl.rcParams["font.family"] = "sans-serif"
6mpl.rcParams["font.size"] = 12
7
8mpl.rcParams["axes.titlesize"] = 14
9mpl.rcParams["axes.labelsize"] = 12
10mpl.rcParams["axes.grid"] = True
11
12mpl.rcParams["lines.linewidth"] = 2
13mpl.rcParams["lines.markersize"] = 6
14
15mpl.rcParams["legend.fontsize"] = 10
matplotlib.rcParamsで、全体の描画スタイルを変更できます。
設定した内容は、以降のすべての描画に適用されます。
いつも使う設定は
~/.config/matplotlib/matplotlibrcファイルに保存しておくと便利です。
上のサンプルに、 キャンバス設定やフォント設定など、よく設定するスタイルをまとめてみました。
リセットしたい(matplotlib.rcdefaults)
1import matplotlib as mpl
2mpl.rcdefaults()
matplotlib.rcdefaultsで全体の描画スタイルをデフォルトにリセットできます。
キャンバス設定したい(rcParams.figure.*)
1# キャンバス全体の設定
2mpl.rcParams["figure.figsize"] = (6, 4) # default: (6.4, 4.8) in inches
3mpl.rcParams["figure.dpi"] = 200 # default: 100 | 200 | 300
4mpl.rcParams["figure.layout"] = "constrained" # default: None | "constrained" | "compressed" | "tight"
5mpl.rcParams["figure.autolayout"] = True # default: False | True
6
7# キャンバスの背景色
8mpl.rcParams["figure.facecolor"] = "lightgray" # default: "white" | "lightgray" | "none"
9mpl.rcParams["figure.frameon"] = False # default: True | False
10
11# 全体のタイトル設定
12mpl.rcParams["figure.titlelocation"] = "left" # default: "center" | "left" | "right"
13mpl.rcParams["figure.titlesize"] = 14 # default: "large" | "medium" | "small" | 14
14mpl.rcParams["figure.titleweight"] = "bold" # default: "normal" | "bold"
15mpl.rcParams["figure.titlepad"] = 6 # default: 6 in points
16mpl.rcParams["figure.titlecolor"] = "blue" # default: "black" | "blue" | "red" | "green"
figure.*オプションで、キャンバス全体の設定を変更できます。
キャンバスのサイズや解像度、レイアウトなどを変更できます。
フォント設定したい(rcParams.font.*)
1# フォントの種類やサイズ
2mpl.rcParams["font.family"] = "Noto Sans CJK JP" # default: "sans-serif" | "serif" | "cursive" | "fantasy" | "monospace"
3mpl.rcParams["font.size"] = 12 # default: 10 | 12 | 14 | "small" | "medium" | "large"
4mpl.rcParams["font.weight"] = "bold" # default: "normal" | "bold"
5
6# フォントの種類を細かく指定
7# serif: 明朝体、sans-serif: ゴシック体、monospace: 等幅フォント、cursive: 筆記体
8mpl.rcParams["font.serif"] = ["Times New Roman", "serif"] # default: ["Times New Roman", "serif"]
9mpl.rcParams["font.sans-serif"] = ["Noto Sans CJK JP", "sans-serif"] # default: ["DejaVu Sans", "sans-serif"]
10mpl.rcParams["font.monospace"] = ["Courier New", "monospace"] # default: ["DejaVu Sans Mono", "monospace"]
11mpl.rcParams["font.cursive"] = ["Comic Sans MS", "cursive"] # default: ["Apple
12Chancery", "cursive"]
13
14
15# マイナスの表示
16mpl.rcParams["axes.unicode_minus"] = False # default: True | False
font.*オプションで、フォントの種類やサイズを変更できます。
font.familyで、和文フォントを指定すれば、タイトルや軸タイトルで日本語を表示できます。
注釈
和文フォントは「Unicodeのマイナス」を持ってないことがあるそうです。
axes.unicode_minus=Falseにしておくと、マイナスが通常のハイフンで表示されるようになり、豆腐化(=文字化け)せずに安全に表示できます。
1mpl.rcParams["font.family"] = [
2 "Noto Sans CJK JP",
3 "IPAexGothic",
4 "Yu Gothic",
5 "Hiragino Sans",
6 "sans-serif",
7]
フォントはリスト形式で複数指定できます。 上から順番に、環境にインストールされているフォントが使われます。
1import japanize_matplotlib
japanize_matplotlibをインポートすると、日本語設定がお手軽に完了できます。
フォントはIPAexGothicが使われます。
カラーマップ設定したい(rcParams.image.*)
mpl.rcParams["image.cmap"] = "viridis" # default: "viridis"
mpl.rcParams["image.interpolation"] = "nearest" # default: "antialiased" | "nearest"
mpl.rcParams["image.aspect"] = "equal" # default: "equal" | "auto"
image.*オプションで、カラーマップの設定を変更できます。
カラーマップの種類はcolormap referenceを参照してください。
色覚多様性に配慮する場合は、viridisやplasmaなどのカラーマップを選択するとよいと思います。
注意
image.cmapの設定は、imshowやpcolormeshなどのカラーマップを前提とした描画に影響します。scatterでもcオプションを指定した場合に適用されます。
一方で、plotやbarなどの描画ではaxes.prop_cycleの設定が優先されます。
うまく色が変わらない場合は、明示的にcmapオプションを指定してみてください。
軸設定したい(rcParams.axes.*)
1# 軸のタイトル設定
2mpl.rcParams["axes.titlesize"] = 14 # default: "large" | "medium" | "small" | 14
3mpl.rcParams["axes.titleweight"] = "bold" # default: "normal" | "bold"
4mpl.rcParams["axes.titlecolor"] = "blue" # default: "black" | "blue" | "red" | "green"
5mpl.rcParams["axes.titlepad"] = 6 # default: 6 in points
6
7# 軸のラベル設定
8mpl.rcParams["axes.labelsize"] = 12 # default: "large" | "medium" | "small" | 12
9mpl.rcParams["axes.labelweight"] = "bold" # default: "normal" | "bold"
10mpl.rcParams["axes.labelcolor"] = "blue" # default: "black"
11mpl.rcParams["axes.labelpad"] = 4 # default: 4 in points
12
13# 軸の線や背景の設定
14mpl.rcParams["axes.linewidth"] = 1 # default: 1
15mpl.rcParams["axes.linecolor"] = "black" # default: "black" | "gray" | "lightgray"
16mpl.rcParams["axes.edgecolor"] = "black" # default: "black" | "gray" | "lightgray"
17mpl.rcParams["axes.facecolor"] = "lightgray" # default: "white" | "lightgray" | "none"
axes.*オプションで、軸のタイトルやラベル、線や背景の設定を変更できます。
グリッド設定したい(rcParams.axes.grid.*)
1# グリッド線の表示
2mpl.rcParams["axes.grid"] = True # default: False | True
3# グリッド線の詳細
4mpl.rcParams["axes.grid.which"] = "both" # default: "major" | "minor" | "both"
5mpl.rcParams["axes.grid.axis"] = "x" # default: "both" | "x" | "y"
6mpl.rcParams["axes.grid.linestyle"] = ":" # default: "--" | "-" | ":" | "-."
7mpl.rcParams["axes.grid.linewidth"] = 1.0 # default: 0.5 | 1.0
8mpl.rcParams["axes.grid.color"] = "black" # default: "gray" | "black"
axes.grid.*オプションで、グリッド線の表示を変更できます。
aces.gridをTrueにすると、グリッド線が表示されます。
マーカー設定したい(rcParams.lines.*)
1# 線の設定
2mpl.rcParams["lines.linewidth"] = 2
3mpl.rcParams["lines.linestyle"] = "-" # default: "-" | "--" | "-." | ":"
4
5# マーカーの設定
6mpl.rcParams["lines.markersize"] = 6
7mpl.rcParams["lines.marker"] = "o" # default: "o" | "s" | "^" | "D" | "x" | "+" | "*"
8mpl.rcParams["lines.markerfacecolor"] = "blue" # default: "blue" | "red" | "green"
9mpl.rcParams["lines.markeredgecolor"] = "black" # default: "black | "blue" | "red" | "green"
lines.*オプションで、線やマーカーの設定を変更できます。
lines.markerで、マーカーの形状を変更できます。
|
マーカーの形状 |
|---|---|
“o” |
○:円 |
“s” |
□:四角 |
“^” |
△:三角 |
“D” |
◆:ダイヤ |
“x” |
✕:バツ |
“+” |
+:プラス |
“*” |
★:星 |
凡例設定したい
1# 凡例の設定
2mpl.rcParams["legend.fontsize"] = 10 # default: "large" | "medium" | "small" | 10
3mpl.rcParams["legend.title_fontsize"] = 12 # default: "large" | "medium" | "small" | 12
4mpl.rcParams["legend.title_fontweight"] = "bold" # default: "normal" | "bold"
5mpl.rcParams["legend.title_color"] = "blue" # default: "black" | "blue" | "red" | "green"
legend.*オプションで、凡例の設定を変更できます。
論文したい
1import matplotlib as mpl
2
3mpl.rcParams["axes.unicode_minus"] = False
4mpl.rcParams["figure.figsize"] = (3.5, 2.5) # 2カラムの論文に適したサイズ
5mpl.rcParams["figure.dpi"] = 300 # 論文用の高解像度
6mpl.rcParams["font.family"] = ["Noto Serif CJK JP", "serif"] # 論文に適したセリフ体
7mpl.rcParams["font.size"] = 10 # 論文に適したフォントサイズ
8mpl.rcParams["axes.titlesize"] = 12 # 論文に適した軸タイトルサイズ
9mpl.rcParams["axes.labelsize"] = 10 # 論文に適した軸ラベルサイズ
10mpl.rcParams["axes.grid"] = False # 論文ではグリッド線を非表示にすることが多い
11mpl.rcParams["lines.linewidth"] = 1.0 # 論文に適した線の太さ
12mpl.rcParams["lines.markersize"] = 4.0 # 論文に適したマーカーの大きさ
13mpl.rcParams["legend.fontsize"] = 8 # 論文に適した凡例のフォントサイズ
2カラムの論文に適したサイズや、解像度、フォントなどを設定する例です。 フォントは明朝体(セリフ体)にして、グリッド線は非表示にしています。
プレゼンしたい
1import matplotlib as mpl
2
3mpl.rcParams["axes.unicode_minus"] = False
4# mpl.rcParams["figure.figsize"] = (8, 6) # 4:3スライド
5mpl.rcParams["figure.figsize"] = (8, 4.5) # 16:9スライド
6mpl.rcParams["figure.dpi"] = 150 # プレゼン用の解像度
7mpl.rcParams["font.family"] = ["Noto Sans CJK JP", "sans-serif"] # プレゼンに適したサンセリフ体
8mpl.rcParams["font.size"] = 18 # プレゼンに適したフォントサイズ
9mpl.rcParams["axes.titlesize"] = 20 # プレゼンに適した軸タイトルサイズ
10mpl.rcParams["axes.labelsize"] = 18 # プレゼンに適した軸ラベルサイズ
11mpl.rcParams["axes.grid"] = True # プレゼンではグリッド線を表示することが多い
12mpl.rcParams["lines.linewidth"] = 3.0 # プレゼンに適した線の太さ
13mpl.rcParams["lines.markersize"] = 8.0 # プレゼンに適したマーカーの大きさ
14mpl.rcParams["legend.fontsize"] = 14 # プレゼンに適した凡例のフォントサイズ
プレゼン資料に適したサイズや、解像度、フォントなどを設定する例です。 スライドのアスペクト比に合わせて、キャンバスのサイズを変更しています。 フォントはゴシック体(サンセリフ体)にして、グリッド線は表示するようにしています。
ダッシュボードしたい
1import matplotlib as mpl
2
3mpl.rcParams["axes.unicode_minus"] = False
4mpl.rcParams["figure.figsize"] = (8, 4) # 少し横長
5mpl.rcParams["figure.dpi"] = 150 # ダッシュボード用の解像度
6mpl.rcParams["font.family"] = ["Noto Sans CJK JP", "sans-serif"] # サンセリフ体
7mpl.rcParams["font.size"] = 11
8mpl.rcParams["axes.grid"] = True # グリッド線を表示
9mpl.rcParams["axes.linestyle"] = ":" # グリッド線を点線
10mpl.rcParams["legend.frameon"] = False # 凡例の枠線を消す
ダッシュボード用のスタイルの例です。 ウェブ埋め込みに適したサイズや、解像度、フォントなどを設定します。