はじめに
論文を書くときにいろいろ調べたのですがまた書くときにまとめておくと楽なので
そのまとめです
参考
- https://qiita.com/rnhd/items/325d21621cfe9e553c17
- https://qiita.com/okadate/items/00227316187b60f861f5
- https://qiita.com/nishimuraatsushi/items/2df8542ebf97affa26fb
グラフの文字系
ここがとにかく大変でした
普通times new romanを使うので
よく言われているこれでやると
plt.rcParams['font.family'] = 'Times New Roman' #全体のフォントを設定
plt.rcParams["mathtext.fontset"] = "stix"
plt.rcParams["font.size"] = 10
plt.rcParams['axes.linewidth'] = 1.0# 軸の線幅edge linewidth。囲みの太さ
plt.rcParams['axes.grid'] = True
この当たりかなと
でもこれだとうまくいかないときがあります
なんか太い文字になったりします
なぞだったです
いろいろ調べた結果
del matplotlib.font_manager.weight_dict['roman']
matplotlib.font_manager._rebuild()
これをimportしてるところにいれればうまくいくことが判明しました
ちょっと論文の形っぽくなりますね
あとはラベルのところ
texの書き方にならっているらしいですが
sample_fig = plt.figure()
sample_axis = sample_fig.add_subplot(111)
sample_axis.set_xlabel('$\it{x}$')
って書けばうまくいきます
斜体にするのはitが担ってくれています
ちなみにギリシャ文字等を使いたい時は
sample_fig = plt.figure()
sample_axis = sample_fig.add_subplot(111)
sample_axis.set_xlabel('$\it{x}$')
sample_axis.set_ylabel(r'$\theta$ [rad]')
という感じでrをいれてください
こうすることで,r \tが 関係ないよってことを指示してくれてます
たぶん\itのときもvisual codeで書いてると書き直してねって注意でるかもです
これでぽくなりました
目盛り系
目盛りを内側にいれる
さらにっぽくするにはメモリを内側にいれたいなってやつです
これはxtickをいじります
plt.rcParams['xtick.direction'] = 'in'#x軸の目盛線
plt.rcParams['ytick.direction'] = 'in'#y軸の目盛線
目盛りの数字をいじる
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
# 前にself.axisを作成してください
self.axis.xaxis.set_major_formatter(FormatStrFormatter('%.2f'))
self.axis.yaxis.set_major_formatter(FormatStrFormatter('%.2f'))
これで0.01までの表示になります
0fとかにすると整数のみになります
目盛りの間隔をいじる
なんかあんまり使われてないですけど
plt.yticks(np.arange(-2.0, 2.0, 0.5))
これで0.5ずつとかになります
xlimとかと併用すれば,目盛りを粗くできます
グラフのサイズ系と保存
出力したやつを保存すると,なんかwindowサイズとかいじらないとでめんどくさいので
そういうときは
出力したうえで保存する
作成したタイミングで保存する
sample_fig = plt.figure(figsize=(3, 3), dpi=50)# dpiは解像度
...
plt.savefig('sample_1.png',dpi=50)# こっちのdpiは保存するときのやつ
これで保存される
ちなみにfigsizeの単位はインチらしいが
1インチ=2.54cm
だそうです
換算してやってみてください
以上で一通りはできそうです!