2016-10-11 10 views
2

私は単純な線でプロットを持っています。現時点では、私はyticksを目に見えないものに設定しました。ここで enter image description hereプロット/グラフ上でyticksを表示する方法(y軸ではない)。点の近くにyticksを表示

グラフのためのコードは次のとおりです。

import matplotlib.pyplot as plt 
x = [1, 2, 3, 4, 5] 
y = [1, 1.5, 2, 2.5, 3] 

fig, ax = plt.subplots(figsize=(15,10)) 
plt.plot(x, y, 'ko-') 

plt.xlabel('X', fontsize=15) 
plt.ylabel('Y', fontsize=15) 
plt.xticks(x, fontsize=13) 
plt.yticks(y, visible=False) 

plt.margins(0.1, 0.1) 
plt.title('Graph', color='black', fontsize=17) 
ax.axis('scaled') 
ax.grid() 
plt.show() 

私は、グラフ自体に(ない左側)/プリントにyticks権利を表示する必要があります。だから、yticksはデータポイントと並んでいます。

所望の出力: enter image description here


どうmatplotlibのでそれを行うには?

答えて

2

plt.text()を使用すると、テキストを軸に注釈を付けることができます。あなたのx、y点を反復することによって、各マーカーにラベルを置くことができます。たとえば:

import matplotlib.pyplot as plt 
x = [1, 2, 3, 4, 5] 
y = [1, 1.5, 2, 2.5, 3] 

fig, ax = plt.subplots(figsize=(15,10)) 
plt.plot(x, y, 'ko-') 

plt.xlabel('X', fontsize=15) 
plt.ylabel('Y', fontsize=15) 
plt.xticks(x, fontsize=13) 
plt.yticks(y, visible=False) 

offset = 0.05 
for xp, yp in zip(x,y): 
    label = "%s" % yp 
    plt.text(xp-offset, yp+offset, label, fontsize=12, horizontalalignment='right') 

plt.margins(0.1, 0.1) 
plt.title('Graph', color='black', fontsize=17) 
ax.axis('scaled') 
ax.grid() 
plt.show() 

次の図を提供します:

enter image description here

関連する問題