User Tools

Site Tools


python:matplotlib:フォントの設定

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
python:matplotlib:フォントの設定 [2018/01/21 21:51]
koudai [まとめて設定]
python:matplotlib:フォントの設定 [2021/06/27 22:04] (current)
Line 3: Line 3:
 matplotlibで使われる文字の大きさやフォントの種類の設定方法を紹介します。 matplotlibで使われる文字の大きさやフォントの種類の設定方法を紹介します。
  
- +もっも簡単なのは、グラフに登場するすべてのフォントを同じ大きさ、同じフォントにする場合で、plt.rcParamを使うと便利です。
- +
-====== まめて設定 ====== +
- +
-グラフに登場するすべてのフォントを同じ大きさ、同じフォントにする場合は plt.rcParam を使うと便利です。+
 以下ではフォントサイズを20ptにしてフォントをセリフ体のDejaVu Serifにしています。 以下ではフォントサイズを20ptにしてフォントをセリフ体のDejaVu Serifにしています。
  
Line 26: Line 22:
 plt.plot(x, y, label="sin x") plt.plot(x, y, label="sin x")
  
-plt.legend(loc="lower left")+plt.legend()
  
-plt.tick_params() +plt.tight_layout()  # フォントサイズが大きくなると文字が描画領域からはみ出るので、プロット全体に合わせて描画領域を大きくする。
-plt.tight_layout()+
  
 plt.show() plt.show()
Line 39: Line 34:
 なお、グラフに含まれる文字はサンセリフ体が推奨されます(matplotlibのデフォルトはサンセリフ体のDejaVu Sansになっています)。 なお、グラフに含まれる文字はサンセリフ体が推奨されます(matplotlibのデフォルトはサンセリフ体のDejaVu Sansになっています)。
  
-====== フォントサイズを個別に設定 ======+matplotlibではotf形式またはttf形式のフォントが利用できます。 
 +使用可能なフォント一覧は次のように調べることができます。 
 +<code> 
 +$ python 
 +>>> import matplotlib.font_manager 
 +>>> flist = matplotlib.font_manager.get_fontconfig_fonts() 
 +>>> names = [matplotlib.font_manager.FontProperties(fname=fname).get_name() for fname in flist] 
 +>>> print(names) 
 +</code> 
 +エラーが出る場合 
 +<code> 
 +>>> import matplotlib.font_manager 
 +>>> matplotlib.font_manager.get_fontconfig_fonts()  # あるいは matplotlib.font_manager.findSystemFonts() 
 +</code> 
 + 
 +ttc形式のフォントは使用できないそうです。 
 +  * [[https://qiita.com/yniji/items/3fac25c2ffa316990d0c]] 
 + 
 +以下ではもう少し細かい設定を紹介します。 
 + 
 + 
 +====== フォントサイズ設定 ======
  
 フォントのサイズを個別に設定する場合は、各文字列の出力のときに fontsize を指定します。 フォントのサイズを個別に設定する場合は、各文字列の出力のときに fontsize を指定します。
Line 57: Line 73:
 plt.plot(x, y, label="sin x") plt.plot(x, y, label="sin x")
  
-plt.legend(loc="lower left", fontsize = 20)+plt.legend(fontsize = 20)
  
-plt.tick_params(labelsize = 20)+plt.tick_params(labelsize = 20)   # メモリの数字のフォントサイズを設定
 plt.tight_layout() plt.tight_layout()
  
-plt.savefig("font.png")+plt.show()
 </file> </file>
python/matplotlib/フォントの設定.1516539099.txt.gz · Last modified: 2021/06/27 21:59 (external edit)