今までやってたのはかなり力技だった
データがxとyというリストに入ってる
labelsがそれぞれのサンプル点の横に打ちたいラベル
import matplotlib.pyplot as plt
for i, text in enumerate(labels):
plt.text(x[i]+4, y[i] +0.2, text, fontsize=25)
こんな感じfor i, text in enumerate(labels):
plt.text(x[i]+4, y[i] +0.2, text, fontsize=25)
ただ、サンプル点が近すぎると、ラベルが重なってそれを調整する必要があった
■ 参考 :複数のplt.textで重なる文字をなんとかできる。
adjustText というパッケージを使えば楽に調整をしてくれるらしい
デフォルトでは入っていないので、condaでインストールする
conda install adjustText
使い方は記事に書いてある通りtexts = [plt.text(x[i], y[i], '%s' %labels[i], ha='center', va='center', fontsize=18) for i in range(len(labels))]
adjust_text(texts)
みたいな感じでOKadjust_text(texts)
矢印をつけるオプションも使ってみたけど、今回はサンプル点とラベルの距離が近すぎて、矢印いらなかった
ランキング参加中です
↓クリックしていただけると嬉しいです〜