27

この例に従ってください:

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()
for i, label in enumerate(('A', 'B', 'C', 'D')):
    ax = fig.add_subplot(2,2,i+1)
    ax.text(0.05, 0.95, label, transform=ax.transAxes,
      fontsize=16, fontweight='bold', va='top')

plt.show()

私はこの出力を得ます:

ここに画像の説明を入力

ドキュメントには太字A, B, C,が作成されるはずなのに、なぜ私のラベルは通常の太さなのDですか?

次の警告も表示されます。

Warning (from warnings module):
File "C:\Python27\lib\site-packages\matplotlib\font_manager.py", line 1228
UserWarning)
UserWarning: findfont: Could not match :family=Bitstream Vera Sans:style=italic:variant=normal:weight=bold:stretch=normal:size=x-small. Returning C:\Python27\lib\site-packages\matplotlib\mpl-data\fonts\ttf\Vera.ttf

OP 解像度

  • OPによって投稿された削除された回答からSep 15, 2013
    • わかりました、それはのインストールに問題がありましたmatplotlib
4

5 に答える 5

5

あなたの質問の例は私のマシンで動作します。したがって、間違いなくライブラリの問題があります。ラテックスを使用して太字のテキストを作成することを検討しましたか? ここに例があります

ここに画像の説明を入力

コード

import numpy as np
import matplotlib.pyplot as plt

fig, axs = plt.subplots(3, 1)
ax0, ax1, ax2 = axs

ax0.text(0.05, 0.95, 'example from question',
        transform=ax0.transAxes, fontsize=16, fontweight='bold', va='top')
ax1.text(0.05, 0.8, 'you can try \\textbf{this} using \\LaTeX', usetex=True,
        transform=ax1.transAxes, fontsize=16, va='top')
ax2.text(0.05, 0.95,
         'or $\\bf{this}$ (latex math mode with things like '
         '$x_\mathrm{test}^2$)',
        transform=ax2.transAxes, fontsize=10, va='top')

plt.show()
于 2020-05-01T08:05:10.267 に答える