matplotlibのレイアウト調節

matplotlibのレイアウトを調節したのでそのメモ

<div align="center">
<img src="https://qiita-image-store.s3.amazonaws.com/0/328420/c74acebf-e564-c882-71f1-da6e42ef45ca.png">
</div>
#レイアウト調整
`plt.rcParams["調整したいパラメータ"] = (値)`でデフォルト設定をオーバーライドできる
##import
```python
import numpy as np
import matplotlib.pyplot as plt
```
##図の大枠に関する設定
```python
plt.rcParams["figure.figsize"] = [6.4,4.0]  # 図の縦横のサイズ([横(inch),縦(inch)])
plt.rcParams["figure.dpi"] = 150			# dpi(dots per inch)
plt.rcParams["figure.autolayout"] = False	# レイアウトの自動調整を利用するかどうか
plt.rcParams["figure.subplot.left"] = 0.14	# 余白
plt.rcParams["figure.subplot.bottom"] = 0.14# 余白
plt.rcParams["figure.subplot.right"] =0.90	# 余白
plt.rcParams["figure.subplot.top"] = 0.91	# 余白
plt.rcParams["figure.subplot.wspace"] = 0.20# 図が複数枚ある時の左右との余白
plt.rcParams["figure.subplot.hspace"] = 0.20# 図が複数枚ある時の上下との余白
```
##フォントの設定
```python
plt.rcParams["font.family"] = "serif"  		# 使用するフォント
plt.rcParams["font.serif"] = "Times New Roman"
plt.rcParams["font.size"] = 14              # 基本となるフォントの大きさ
plt.rcParams["mathtext.cal"] = "serif"		# TeX表記に関するフォント設定
plt.rcParams["mathtext.rm"] = "serif"		# TeX表記に関するフォント設定
plt.rcParams["mathtext.it"] = "serif:italic"# TeX表記に関するフォント設定
plt.rcParams["mathtext.bf"] = "serif:bold"	# TeX表記に関するフォント設定
plt.rcParams["mathtext.fontset"] = "cm"		# TeX表記に関するフォント設定
```
TeXに関する設定項目がよくわからないけどまぁ動いてるからヨシ！
##メモリ線の設定
```python
plt.rcParams["xtick.direction"] = "in"		# 目盛り線の向き、内側"in"か外側"out"かその両方"inout"か
plt.rcParams["ytick.direction"] = "in"		# 目盛り線の向き、内側"in"か外側"out"かその両方"inout"か
plt.rcParams["xtick.top"] = True			# 上部に目盛り線を描くかどうか
plt.rcParams["xtick.bottom"] = True			# 下部に目盛り線を描くかどうか
plt.rcParams["ytick.left"] = True			# 左部に目盛り線を描くかどうか
plt.rcParams["ytick.right"] = True			# 右部に目盛り線を描くかどうか
plt.rcParams["xtick.major.size"] = 4.0      # x軸主目盛り線の長さ
plt.rcParams["ytick.major.size"] = 4.0		# y軸主目盛り線の長さ
plt.rcParams["xtick.major.width"] = 1.0     # x軸主目盛り線の線幅
plt.rcParams["ytick.major.width"] = 1.0     # y軸主目盛り線の線幅
plt.rcParams["xtick.minor.visible"] = False	# x軸副目盛り線を描くかどうか
plt.rcParams["ytick.minor.visible"] = False	# y軸副目盛り線を描くかどうか
plt.rcParams["xtick.minor.size"] = 2.0		# x軸副目盛り線の長さ
plt.rcParams["ytick.minor.size"] = 2.0		# y軸副目盛り線の長さ
plt.rcParams["xtick.minor.width"] = 0.6		# x軸副目盛り線の線幅
plt.rcParams["ytick.minor.width"] = 0.6		# y軸副目盛り線の線幅
plt.rcParams["xtick.labelsize"] = 14        # 目盛りのフォントサイズ
plt.rcParams["ytick.labelsize"] = 14        # 目盛りのフォントサイズ
```
##軸に関する設定
```python
plt.rcParams["axes.labelsize"] = 18			# 軸ラベルのフォントサイズ
plt.rcParams["axes.linewidth"] = 1.0        # グラフ囲う線の太さ
plt.rcParams["axes.grid"] = True			# グリッドを表示するかどうか
```
##グリッドに関する設定
```python
plt.rcParams["grid.color"] = "black"		# グリッドの色
plt.rcParams["grid.linewidth"] = 1.0		# グリッドの線幅
```
##凡例に関する設定
```python
plt.rcParams["legend.loc"] = "best"			# 凡例の位置、"best"でいい感じのところ
plt.rcParams["legend.frameon"] = True		# 凡例を囲うかどうか、Trueで囲う、Falseで囲わない
plt.rcParams["legend.framealpha"] = 1.0		# 透過度、0.0から1.0の値を入れる
plt.rcParams["legend.facecolor"] = "white"	# 背景色
plt.rcParams["legend.edgecolor"] = "black"	# 囲いの色
plt.rcParams["legend.fancybox"] = False		# Trueにすると囲いの四隅が丸くなる
```
#いざ描画
```python
## データの用意
x = np.arange(-3, 3.1, 0.1)					# -3から3まで0.1刻みのnumpy配列の作成
y1 = np.sin(x)
y2 = np.cos(x)

fig = plt.figure(1)
ax1 = fig.add_subplot(111)  				# 一行一列一個目
ax1.plot(x,y1,label = "$\sin\\theta$")		# 描画データの追加
ax1.plot(x,y2,label = "$\cos\\theta$")		# 描画データの追加

ax1.set_xlim(-3,3)							# 表示範囲の設定
ax1.set_ylim(-1.5,1.5)						# 表示範囲の設定
ax1.set_xlabel(r"$x$ [ - ]")				# 軸ラベルの設定
ax1.set_ylabel(r"$y$ [ - ]")				# 軸ラベルの設定
ax1.legend()								# 凡例の追加

plt.show()									# 表示
```
#実行結果
<div align="center">
<img src="https://qiita-image-store.s3.amazonaws.com/0/328420/45dca83c-b785-074e-86b3-7910d1eb9313.png">
</div>
だいぶいい感じなったのでは？

#参考にしたサイト
- 公式ドキュメント
 - [Customizing matplotlib](https://matplotlib.org/users/customizing.html)
- その他サイト
 - [[Python] matplotlib: 論文用に図の体裁を整える](https://qiita.com/rnhd/items/325d21621cfe9e553c17)