pythonのグラフ描画ライブラリである「matplotlib」で使用できるフォントについて紹介します。
本記事では、以下の内容を紹介します。
この記事で分かること
- matplotlibで使用できるフォント一覧
- 【補足】matplotlibでグラフのフォントを設定する方法
スポンサーリンク
matplotlibで使用できるフォント一覧
matplotlibで使用できるフォントの一覧を紹介します。
使用できるフォントを確認する方法として、サンプルコードを3つ紹介します。
matplotlibで使用できるフォントを確認するサンプルコード①
フォントの一覧をリストで取得するサンプルコードです。
### フォント一覧を確認するサンプルコード
import matplotlib.font_manager as fm
import pprint
font_list = [f.name for f in fm.fontManager.ttflist]
pprint.pprint(font_list)
"""
['STIXSizeTwoSym',
'cmsy10',
'DejaVu Sans',
'cmss10',
'STIXSizeFourSym',
'STIXGeneral',
'STIXSizeTwoSym',
'DejaVu Serif',
'STIXGeneral',
'STIXNonUnicode',
'STIXSizeOneSym',
'STIXSizeThreeSym',
'DejaVu Serif Display',
'STIXNonUnicode',
'cmr10',
'cmb10',
'DejaVu Sans Display',
'cmmi10',
'STIXSizeFourSym',
'DejaVu Sans',
'DejaVu Sans Mono',
'STIXSizeOneSym',
'DejaVu Sans Mono',
'DejaVu Sans Mono',
'DejaVu Serif',
'DejaVu Sans',
'STIXGeneral',
'DejaVu Sans',
'STIXSizeFiveSym',
'DejaVu Sans Mono',
'DejaVu Serif',
'STIXNonUnicode',
'STIXGeneral',
'cmtt10',
'STIXNonUnicode',
'cmex10',
'STIXSizeThreeSym',
'DejaVu Serif',
'Dubai',
'Candara',
'BIZ UDMincho',
'Arial',
'Microsoft YaHei',
'Segoe Script',
'Calibri',
'Leelawadee UI',
'Nirmala UI',
'Myriad Pro',
'Yu Gothic',
'Chaparral Pro',
'Century',
'Myriad Pro',
'Webdings',
'Sanvito Pro',
'Segoe UI Emoji',
'Courier Std',
'Adobe Thai',
'Graphite Std',
'Corbel',
'Times New Roman',
'Yu Gothic',
'Chaparral Pro',
'Adobe Thai',
'Myriad Pro',
'Leelawadee',
'Myriad Pro',
'Tekton Pro',
'Microsoft Yi Baiti',
'Tekton Pro',
'Corbel',
'Trebuchet MS',
'Bookshelf Symbol 7',
'Microsoft Himalaya',
'HGSoeiKakupoptai',
'Papyrus',
'Meiryo',
'Myriad Pro',
'Bahnschrift',
'Bookman Old Style',
'MS Mincho',
'Georgia',
'Myriad Pro',
'Arial',
'Yu Mincho',
'HGMaruGothicMPRO',
'Adobe Song Std',
'Ebrima',
'Prestige Elite Std',
'Minion Pro',
'Century Gothic',
'Courier New',
'Corbel',
'Bickham Script Pro',
'Kozuka Mincho Pr6N',
'Microsoft PhagsPa',
'Microsoft JhengHei',
'Book Antiqua',
'UD Digi Kyokasho N-B',
'Mongolian Baiti',
'Sitka Small',
'Palatino Linotype',
'Myriad Web Pro',
'Freestyle Script',
'Segoe UI',
'Myriad Web Pro',
'Adobe Arabic',
'Consolas',
'Myriad Pro',
'Myanmar Text',
'Brush Script Std',
'Microsoft New Tai Lue',
'Myriad Pro',
'Calibri',
'Gadugi',
'Georgia',
'Marlett',
'Kozuka Mincho Pr6N',
'Tahoma',
'Microsoft New Tai Lue',
'Tekton Pro',
'Garamond',
'Adobe Garamond Pro',
'Segoe UI',
'Charlemagne Std',
'Microsoft Uighur',
'MS Gothic',
'Orator Std',
'Microsoft YaHei',
'Georgia',
'Adobe Fan Heiti Std',
'Malgun Gothic',
'Malgun Gothic',
'Adobe Arabic',
'Caflisch Script Pro',
'Calibri',
'Symbol',
'Nueva Std',
'Adobe Gothic Std',
'Nirmala UI',
'HGSoeiKakugothicUB',
'Graphite Std',
'Caflisch Script Pro',
'Segoe Script',
'Microsoft Tai Le',
'Cambria',
'Postino Std',
'Segoe Print',
'Birch Std',
'Verdana',
'Kozuka Gothic Pr6N',
'Comic Sans MS',
'Prestige Elite Std',
'Adobe Pi Std',
'Nirmala UI',
'Tekton Pro',
'OCR A Std',
'Leelawadee UI',
'Myriad Pro',
'Giddyup Std',
'BIZ UDGothic',
'Sanvito Pro',
'Sitka Small',
'Nueva Std',
'Tekton Pro',
'Candara',
'MV Boli',
'Book Antiqua',
'Constantia',
'Trebuchet MS',
'Consolas',
'Garamond',
'Palatino Linotype',
'SimSun',
'Myriad Pro',
'Stencil Std',
'Yu Gothic',
'Dubai',
'Myriad Pro',
'Kozuka Gothic Pr6N',
'Javanese Text',
'Adobe Hebrew',
'Myriad Pro',
'Bradley Hand ITC',
'Myriad Pro',
'HGMinchoE',
'Palatino Linotype',
'Courier Std',
'Myriad Pro',
'Kristen ITC',
'Myanmar Text',
'BIZ UDGothic',
'Segoe UI',
'Adobe Hebrew',
'Candara',
'Arial',
'Bookman Old Style',
'Segoe UI',
'Yu Mincho',
'French Script MT',
'Mistral',
'Calibri',
'Charlemagne Std',
'Graphite Std',
'Myriad Pro',
'Tekton Pro',
'Adobe Hebrew',
'Myriad Pro',
'Arial',
'Sylfaen',
'Adobe Caslon Pro',
'Segoe UI Symbol',
'Myriad Pro',
'Tempus Sans ITC',
'OCRB',
'Consolas',
'Adobe Ming Std',
'HGGyoshotai',
'Dubai',
'MS Reference Specialty',
'Verdana',
'Microsoft YaHei',
'Segoe UI Historic',
'Rosewood Std',
'HoloLens MDL2 Assets',
'HGSoeiPresenceEB',
'HGGothicE',
'Comic Sans MS',
'MS Reference Sans Serif',
'Cambria',
'Verdana',
'Comic Sans MS',
'Book Antiqua',
'Verdana',
'Myriad Pro',
'Nueva Std',
'Nueva Std',
'Georgia',
'Corbel',
'Consolas',
'Franklin Gothic Medium',
'Candara',
'Arial',
'Myriad Pro',
'Trebuchet MS',
'Century Gothic',
'Prestige Elite Std',
'Calibri',
'MingLiU-ExtB',
'Lithos Pro',
'Microsoft Uighur',
'Myriad Web Pro',
'Century Gothic',
'Segoe UI',
'Meiryo',
'Graphite Std',
'Adobe Arabic',
'Adobe Caslon Pro',
'Myriad Web Pro',
'Gabriola',
'Ebrima',
'Bookman Old Style',
'Corbel',
'Graphite Std',
'Adobe Garamond Pro',
'Monotype Corsiva',
'Minion Pro',
'Times New Roman',
'Cooper Std',
'Kozuka Mincho Pr6N',
'Times New Roman',
'Trajan Pro',
'Franklin Gothic Medium',
'Microsoft Sans Serif',
'Hobo Std',
'Graphite Std',
'Myriad Pro',
'Trebuchet MS',
'Kozuka Gothic Pr6N',
'Microsoft JhengHei',
'Myriad Pro',
'Leelawadee',
'Graphite Std',
'Myriad Pro',
'Adobe Myungjo Std',
'Corbel',
'Adobe Garamond Pro',
'Constantia',
'Adobe Hebrew',
'Nueva Std',
'Calibri',
'Microsoft JhengHei',
'Impact',
'Segoe UI',
'Lucida Sans Unicode',
'Minion Pro',
'Caflisch Script Pro',
'Candara',
'Kozuka Gothic Pr6N',
'MT Extra',
'Wingdings 2',
'Blackoak Std',
'Myriad Pro',
'Adobe Thai',
'Sitka Small',
'Adobe Garamond Pro',
'Constantia',
'Minion Pro',
'Comic Sans MS',
'Tahoma',
'Adobe Caslon Pro',
'Segoe Print',
'Times New Roman',
'Minion Pro',
'Yu Mincho',
'HGSeikaishotaiPRO',
'Juice ITC',
'Yu Gothic',
'Book Antiqua',
'Myriad Pro',
'Wingdings',
'Sitka Small',
'Constantia',
'Palatino Linotype',
'Cambria',
'Myriad Web Pro',
'Gadugi',
'Adobe Thai',
'Myriad Pro',
'Minion Pro',
'Courier New',
'Nueva Std',
'Myriad Pro',
'Sanvito Pro',
'Myriad Pro',
'Poplar Std',
'Myriad Pro',
'Candara',
'Arial',
'Segoe UI',
'Segoe UI',
'MS Outlook',
'Nueva Std',
'Bookman Old Style',
'Chaparral Pro',
'Lucida Handwriting',
'Courier Std',
'Dubai',
'Ink Free',
'Lucida Console',
'Trajan Pro',
'Kozuka Mincho Pr6N',
'Courier New',
'Graphite Std',
'Postino Std',
'Courier New',
'Arial',
'Bickham Script Pro',
'Adobe Heiti Std',
'Kozuka Mincho Pr6N',
'Minion Pro',
'Orator Std',
'Courier Std',
'Leelawadee UI',
'Kozuka Gothic Pr6N',
'Myriad Pro',
'Myriad Pro',
'UD Digi Kyokasho N-R',
'Adobe Caslon Pro',
'Segoe UI',
'Cambria',
'Garamond',
'Microsoft PhagsPa',
'Myriad Pro',
'Wingdings 3',
'Mesquite Std',
'Kozuka Mincho Pr6N',
'Kozuka Gothic Pr6N',
'Adobe Arabic',
'Segoe UI',
'Segoe UI',
'Nueva Std',
'HGKyokashotai',
'Segoe UI',
'Sanvito Pro',
'Arial',
'Segoe MDL2 Assets',
'Prestige Elite Std',
'Century Gothic',
'Myriad Pro',
'Graphite Std',
'Minion Pro',
'Lithos Pro',
'Malgun Gothic',
'HGMinchoB',
'SimSun-ExtB',
'Arial',
'Pristina',
'HGGothicM',
'Microsoft Tai Le',
'Cooper Std']
"""
スポンサーリンク
matplotlibで使用できるフォントを確認するサンプルコード②
こちらも、フォントの一覧をリストで取得するサンプルコードです。
### フォント一覧を確認するサンプルコード
import matplotlib.font_manager as fm
import pprint
font_list = [fm.FontProperties(fname=font).get_name() for font in fm.findSystemFonts()]
pprint.pprint(font_list)
"""
['Impact',
'Sylfaen',
'Ebrima',
'Dubai',
'Myriad Pro',
'Courier New',
'Calibri',
'Myriad Pro',
'Myriad Pro',
'Adobe Myungjo Std',
'Kozuka Gothic Pr6N',
'Marlett',
'Myriad Pro',
'BIZ UDGothic',
'Minion Pro',
'Nueva Std',
'Myriad Pro',
'HGGothicE',
'Microsoft JhengHei',
'Bookman Old Style',
'Century Gothic',
'HGSoeiKakugothicUB',
'Pristina',
'Adobe Thai',
'Caflisch Script Pro',
'Palatino Linotype',
'Microsoft YaHei',
'Minion Pro',
'Constantia',
'Adobe Garamond Pro',
'Consolas',
'Georgia',
'Century Gothic',
'Myriad Pro',
'Ebrima',
'Kozuka Gothic Pr6N',
'Myriad Pro',
'Cambria',
'Courier Std',
'Bickham Script Pro',
'Times New Roman',
'Myriad Pro',
'Bahnschrift',
'Arial',
'Sitka Small',
'Myriad Pro',
'Arial',
'Dubai',
'Myriad Pro',
'Yu Gothic',
'Myriad Web Pro',
'Microsoft PhagsPa',
'Bookshelf Symbol 7',
'Kozuka Mincho Pr6N',
'Meiryo',
'Birch Std',
'Gunplay',
'BIZ UDMincho',
'SimSun-ExtB',
'Prestige Elite Std',
'Myriad Pro',
'MS Reference Specialty',
'Cambria',
'Myriad Pro',
'Adobe Gothic Std',
'Nirmala UI',
'Wingdings',
'Book Antiqua',
'Myriad Pro',
'Sanvito Pro',
'Malgun Gothic',
'Consolas',
'Graphite Std',
'Lucida Handwriting',
'Corbel',
'Segoe UI',
'Kozuka Gothic Pr6N',
'Verdana',
'Consolas',
'UD Digi Kyokasho N-R',
'Gadugi',
'Courier Std',
'Prestige Elite Std',
'Constantia',
'Adobe Arabic',
'Myriad Pro',
'Graphite Std',
'Adobe Arabic',
'Adobe Hebrew',
'Blackoak Std',
'Myriad Pro',
'Calibri',
'Kozuka Gothic Pr6N',
'Stencil Std',
'Cooper Std',
'Courier New',
'Caflisch Script Pro',
'Adobe Song Std',
'Tekton Pro',
'Calibri',
'Tekton Pro',
'Graphite Std',
'Arial',
'Microsoft Sans Serif',
'HGSoeiKakupoptai',
'Garamond',
'Trebuchet MS',
'Giddyup Std',
'Adobe Heiti Std',
'Corbel',
'Microsoft YaHei',
'Sanvito Pro',
'Chaparral Pro',
'Myriad Pro',
'Postino Std',
'Trebuchet MS',
'HGSeikaishotaiPRO',
'Adobe Hebrew',
'Bradley Hand ITC',
'Wingdings 3',
'Myriad Pro',
'Adobe Caslon Pro',
'Myriad Pro',
'Segoe Print',
'Candara',
'OCRB',
'Adobe Garamond Pro',
'Nueva Std',
'Bickham Script Pro',
'Gadugi',
'Minion Pro',
'Graphite Std',
'Corbel',
'Segoe UI',
'Microsoft Uighur',
'Myanmar Text',
'Lithos Pro',
'Adobe Fan Heiti Std',
'Adobe Arabic',
'Microsoft Tai Le',
'Myriad Pro',
'Papyrus',
'Kozuka Mincho Pr6N',
'Adobe Hebrew',
'Times New Roman',
'Candara',
'Georgia',
'Kozuka Mincho Pr6N',
'MS Outlook',
'Kozuka Mincho Pr6N',
'Minion Pro',
'Segoe UI',
'Poplar Std',
'HGGyoshotai',
'Verdana',
'Microsoft Uighur',
'Segoe UI',
'Myriad Pro',
'Sanvito Pro',
'BIZ UDGothic',
'Segoe UI Emoji',
'Segoe UI',
'Cambria',
'Monotype Corsiva',
'Book Antiqua',
'Sitka Small',
'Adobe Thai',
'Tekton Pro',
'Myriad Web Pro',
'Palatino Linotype',
'SimSun',
'Courier New',
'Prestige Elite Std',
'Myriad Pro',
'Arial',
'French Script MT',
'Bookman Old Style',
'Myriad Pro',
'Yu Mincho',
'Palatino Linotype',
'Segoe UI',
'Comic Sans MS',
'Freestyle Script',
'Segoe UI',
'Myriad Web Pro',
'Myriad Web Pro',
'Nirmala UI',
'Tekton Pro',
'Adobe Caslon Pro',
'Mongolian Baiti',
'Trajan Pro',
'Dubai',
'MS Gothic',
'Ink Free',
'Arial',
'Microsoft YaHei',
'Nueva Std',
'Leelawadee UI',
'Corbel',
'Book Antiqua',
'HoloLens MDL2 Assets',
'Prestige Elite Std',
'Arial',
'HGMinchoB',
'Nueva Std',
'Nueva Std',
'Wingdings 2',
'Palatino Linotype',
'Times New Roman',
'Orator Std',
'Kozuka Gothic Pr6N',
'Segoe Print',
'Nueva Std',
'Yu Gothic',
'Candara',
'Tahoma',
'Microsoft Tai Le',
'Yu Mincho',
'Graphite Std',
'Minion Pro',
'Tekton Pro',
'Myanmar Text',
'Leelawadee UI',
'Century Gothic',
'Malgun Gothic',
'Orator Std',
'Microsoft JhengHei',
'Juice ITC',
'Courier Std',
'MS Mincho',
'Consolas',
'Lucida Sans Unicode',
'Corbel',
'Arial',
'Myriad Pro',
'Cooper Std',
'Graphite Std',
'Tekton Pro',
'Tempus Sans ITC',
'Corbel',
'Segoe Script',
'Segoe UI Historic',
'Franklin Gothic Medium',
'Microsoft JhengHei',
'Yu Mincho',
'Charlemagne Std',
'Leelawadee',
'MS Reference Sans Serif',
'Adobe Thai',
'Bookman Old Style',
'Myriad Pro',
'Rosewood Std',
'UD Digi Kyokasho N-B',
'Book Antiqua',
'Minion Pro',
'Calibri',
'Trebuchet MS',
'Calibri',
'Constantia',
'Graphite Std',
'Adobe Arabic',
'Trebuchet MS',
'Webdings',
'Chaparral Pro',
'Sitka Small',
'Segoe UI',
'Arial',
'Trajan Pro',
'Leelawadee UI',
'Candara',
'Chaparral Pro',
'Adobe Garamond Pro',
'Microsoft New Tai Lue',
'Comic Sans MS',
'Kozuka Mincho Pr6N',
'Franklin Gothic Medium',
'Verdana',
'Caflisch Script Pro',
'Garamond',
'Adobe Caslon Pro',
'Nueva Std',
'Symbol',
'Myriad Pro',
'HGSoeiPresenceEB',
'Yu Gothic',
'HGMaruGothicMPRO',
'Comic Sans MS',
'Myriad Pro',
'Hobo Std',
'Malgun Gothic',
'Microsoft Himalaya',
'Minion Pro',
'Nirmala UI',
'Candara',
'Segoe UI',
'Constantia',
'Myriad Pro',
'Tahoma',
'Kozuka Mincho Pr6N',
'HGGothicM',
'Adobe Pi Std',
'Segoe Script',
'OCR A Std',
'Microsoft Yi Baiti',
'Meiryo',
'Segoe UI Symbol',
'Bookman Old Style',
'Adobe Ming Std',
'Georgia',
'Gabriola',
'Javanese Text',
'Calibri',
'Charlemagne Std',
'Graphite Std',
'Myriad Pro',
'Cambria',
'Adobe Garamond Pro',
'Brush Script Std',
'Comic Sans MS',
'MT Extra',
'Adobe Caslon Pro',
'Segoe MDL2 Assets',
'HGMinchoE',
'Myriad Pro',
'Lucida Console',
'Adobe Hebrew',
'Georgia',
'Minion Pro',
'Sanvito Pro',
'Arial',
'Courier Std',
'Myriad Web Pro',
'Verdana',
'Times New Roman',
'Dubai',
'Garamond',
'Courier New',
'Leelawadee',
'Myriad Pro',
'Century Gothic',
'Mistral',
'Myriad Pro',
'Segoe UI',
'Sitka Small',
'Microsoft PhagsPa',
'Myriad Pro',
'Candara',
'Century',
'MingLiU-ExtB',
'Nueva Std',
'Lithos Pro',
'MV Boli',
'Postino Std',
'Segoe UI',
'Kristen ITC',
'Microsoft New Tai Lue',
'Mesquite Std',
'Adobe Thai',
'HGKyokashotai',
'Graphite Std',
'Kozuka Gothic Pr6N',
'Yu Gothic',
'Segoe UI']
"""
matplotlibで使用できるフォントを確認するサンプルコード③
先ほどのサンプルコードでは、フォントの名称を文字列のリストとして取得できました。
しかし名称だけでは、そのフォントがどのような文字の形状として表示されるのかは分かりません。
以下のサンプルコードでは、フォントの文字の形状と、文字化けさせずに日本語を表示できるかを、併せて出力します。
### フォント一覧を確認するサンプルコード
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
import numpy as np
fonts = set([fm.FontProperties(fname=font).get_name() for font in fm.findSystemFonts()])
fig = plt.figure(figsize=(8, 100))
ax = fig.add_subplot(1, 1, 1)
ax.set_ylim([-1, len(fonts)])
ax.set_yticks(np.arange(0, len(fonts), 10))
for i, f in enumerate(fonts):
ax.text(0.2, i, '日本語 {}'.format(f), fontdict={'family': f, 'fontsize': 14})
plt.show()
コードを実行すると、以下の図が表示されます。
このサンプルコードは、こちらの記事を参考にさせていただきました。
スポンサーリンク
【補足】matplotlibでグラフのフォントを設定する方法
補足的な内容として、matplotlibのグラフの各要素のフォントを指定する方法を紹介します。
以下、グラフの各要素のフォントを指定するサンプルコードです。
### フォントを指定
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, np.pi * 4, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y, label = 'sin')
ax.set_xlabel('X-label', fontsize = 18, fontname = 'MS Gothic')
ax.set_ylabel('Y-label', fontsize = 18, fontname = 'MS Gothic')
ax.set_title('Title', fontsize = 18, fontname = 'MS Gothic')
ax.text(0, -0.8, 'text', fontsize = 14, fontname = 'MS Gothic')
ax.legend(prop = {'family' : 'MS Gothic'})
plt.show()
コードを実行すると、以下のグラフが表示されます。
【matplotlib】軸ラベルのフォントの指定方法
> ax.set_xlabel('X-label', fontsize = 18, fontname = 'MS Gothic')
> ax.set_ylabel('Y-label', fontsize = 18, fontname = 'MS Gothic')
ax.set_xlabel( )の引数として、fontname = を指定することで、x軸のラベルのフォントを指定できます。
【matplotlib】タイトルのフォントの指定方法
> ax.set_title('Title', fontsize = 18, fontname = 'MS Gothic')
ax.set_title( )の引数として、fontname = を指定することで、タイトルのフォントを指定できます。
【matplotlib】テキストのフォントの指定方法
> ax.text(0, -0.8, 'text', fontsize = 14, fontname = 'MS Gothic')
ax.text( )の引数として、fontname = を指定することで、テキストのフォントを指定できます。
【matplotlib】凡例のフォントの指定方法
> ax.legend(prop = {'family' : 'MS Gothic'})
凡例については、ラベルやタイトルなどとフォントの指定方法が異なります。
凡例のフォント場合は、テキストのプロパティを辞書型で渡すことで、フォントを指定できます。
スポンサーリンク