matplotlib でテキストの周囲にボックスを作成するにはどうすればよいでしょうか? 3 つの異なる行に 3 つの異なる色のテキストがあります。
ax.text(2,1, 'alpha', color='red')
ax.text(2,2, 'beta', color='cyan')
ax.text(2,3, 'epsilon', color='black')
チュートリアルを見たhttp://matplotlib.org/users/recipes.html(最後の例) しかし、問題を解決できません。
ベストアンサー1
リンクした例で述べたように、クワーグbbox
ボックスを追加します。
ボックスの色などをどのように設定すればよいか混乱しているのではないでしょうか。簡単な例を挙げます。
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.text(0.5, 0.8, 'Test', color='red',
bbox=dict(facecolor='none', edgecolor='red'))
ax.text(0.5, 0.6, 'Test', color='blue',
bbox=dict(facecolor='none', edgecolor='blue', pad=10.0))
ax.text(0.5, 0.4, 'Test', color='green',
bbox=dict(facecolor='none', edgecolor='green', boxstyle='round'))
ax.text(0.5, 0.2, 'Test', color='black',
bbox=dict(facecolor='none', edgecolor='black', boxstyle='round,pad=1'))
plt.show()
最後の 2 つは「ファンシー」な bbox パッチなので、パディングなどは異なる方法で設定されます。(パディングなどの単純なものの場合はかなり面倒ですが、舞台裏での実装は簡単になります。)
また、プロット内のものにラベルを付ける場合は、annotate
より良い選択です。とりわけ、テキストを邪魔な場所に配置することができますポイントで特定のデータ位置から。