This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
python:matplotlib:フォントの設定 [2018/01/21 20:37] koudai [個別に設定] |
python:matplotlib:フォントの設定 [2021/06/27 22:04] (current) |
||
---|---|---|---|
Line 3: | Line 3: | ||
matplotlibで使われる文字の大きさやフォントの種類の設定方法を紹介します。 | matplotlibで使われる文字の大きさやフォントの種類の設定方法を紹介します。 | ||
- | + | もっとも簡単なのは、グラフに登場するすべてのフォントを同じ大きさ、同じフォントにする場合で、plt.rcParamを使うと便利です。 | |
- | + | 以下ではフォントサイズを20ptにしてフォントをセリフ体のDejaVu Serifにしています。 | |
- | ====== まとめて設定 ====== | + | |
- | + | ||
- | グラフに登場するすべてのフォントを同じ大きさ、同じフォントにする場合は plt.rcParam を使うと便利です。 | + | |
- | 以下ではフォントサイズを20ptにしてフォントをセリフ体にしています。 | + | |
<file python plot.py> | <file python plot.py> | ||
Line 14: | Line 10: | ||
import matplotlib.pyplot as plt | import matplotlib.pyplot as plt | ||
- | plt.rcParams[" | + | plt.rcParams[" |
- | plt.rcParams[" | + | plt.rcParams[" |
x = np.arange(-5, | x = np.arange(-5, | ||
Line 26: | Line 22: | ||
plt.plot(x, y, label=" | plt.plot(x, y, label=" | ||
- | plt.legend(loc=" | + | plt.legend() |
- | plt.tick_params() | + | plt.tight_layout() |
- | plt.tight_layout() | + | |
plt.show() | plt.show() | ||
Line 37: | Line 32: | ||
- | なお、グラフに含まれる文字はサンセリフ体が推奨されます(matplotlibのデフォルトはサンセリフ体になっています)。 | + | なお、グラフに含まれる文字はサンセリフ体が推奨されます(matplotlibのデフォルトはサンセリフ体のDejaVu Sansになっています)。 |
- | font.familyで使用できるのは次のとおりです。 | + | |
- | * sans-serif ... サンセリフ体。文字にヒゲがない。 | + | |
- | * serif ... セリフ体。文字にヒゲがある。 | + | |
- | * monospace ... 等幅フォント。ターミナルの文字なんかがこれ。 | + | |
- | ====== フォントサイズを個別に設定 ====== | + | matplotlibではotf形式またはttf形式のフォントが利用できます。 |
+ | 使用可能なフォント一覧は次のように調べることができます。 | ||
+ | < | ||
+ | $ python | ||
+ | >>> | ||
+ | >>> | ||
+ | >>> | ||
+ | >>> | ||
+ | </ | ||
+ | エラーが出る場合 | ||
+ | < | ||
+ | >>> | ||
+ | >>> | ||
+ | </ | ||
+ | |||
+ | ttc形式のフォントは使用できないそうです。 | ||
+ | * [[https:// | ||
+ | |||
+ | 以下ではもう少し細かい設定を紹介します。 | ||
+ | |||
+ | |||
+ | ====== フォントサイズの設定 ====== | ||
フォントのサイズを個別に設定する場合は、各文字列の出力のときに fontsize を指定します。 | フォントのサイズを個別に設定する場合は、各文字列の出力のときに fontsize を指定します。 | ||
Line 51: | Line 63: | ||
import numpy as np | import numpy as np | ||
import matplotlib.pyplot as plt | import matplotlib.pyplot as plt | ||
- | |||
- | plt.rcParams[" | ||
x = np.arange(-5, | x = np.arange(-5, | ||
Line 63: | Line 73: | ||
plt.plot(x, y, label=" | plt.plot(x, y, label=" | ||
- | plt.legend(loc=" | + | plt.legend(fontsize = 20) |
- | plt.tick_params(labelsize = 20) | + | plt.tick_params(labelsize = 20) # メモリの数字のフォントサイズを設定 |
plt.tight_layout() | plt.tight_layout() | ||
- | plt.savefig(" | + | plt.show() |
</ | </ |