0
私はすでにサイトを検索していますが、私の場合に特有のものは見つかりませんでした。 私はいくつかのポイントのペアをプロットするコードを書いて、ポイントの各ペアの識別子番号を書きます。 問題は、識別番号がポイントに近すぎて、プロットをより読みやすくするために数字を少し移動したいということです。 これはコードです:matplotlib.pyplot.annotateで重複しています
import os
import numpy as np
from math import exp, log10
import matplotlib.pyplot as plt
#dataset
dataset1=np.genfromtxt(fname='/path/to/file1.txt')
dataset2=np.genfromtxt(fname='/path/to/file2.txt')
source=np.genfromtxt(fname='/path/to/file3.txt')
num=np.array(source[:,0])
x1=np.array(dataset1[:,5])
y1=np.array(dataset1[:,20])
x2=np.array(dataset2[:,1])
y2=np.array(dataset2[:,10])
# error bars
xe1=np.array(dataset1[:,6])
ye1=np.array(dataset1[:,21])
xe2l=np.array(dataset2[:,2])
xe2u=np.array(dataset2[:,3])
ye2l=np.array(dataset2[:,11])
ye2u=np.array(dataset2[:,12])
plt.errorbar(x1, y1, xerr=xe1, yerr=ye1, fmt='.', color='red', elinewidth=1, capsize=2, label='wavdetect')
plt.errorbar(x2, y2, xerr=[xe2l, xe2u], yerr=[ye2l, ye2u], fmt='.', color='blue', elinewidth=1, capsize=2, label='my_results')
for i,j in enumerate(num):
plt.annotate(j, xy=(x2[i],y2[i]), ha='left', va='bottom')
plt.xlabel('x')
plt.ylabel('y')
plt.title ('title')
plt.legend(loc='upper right')
plt.show()
ありがとうございました!今それは完全に動作します! –