2016-07-08 4 views
0

在庫情報を含むデータフレームを作成しました。散布図を作成してラベルに注釈を付けると、すべてのラベルが含まれるわけではありません。私は50かそこらのポイントのうち3つのラベルしか得ていません。なぜすべてのラベルをプロットしていないのかわかりません。.annotate()がすべてのラベルをプロットしていません

マイ表:

 Dividend ExpenseRatio Net_Assets PriceEarnings PriceSales 
Ticker 
FHLC  0.0128   0.08  6.056   22.95  1.78 
ONEQ  0.0083   0.21  6.284   20.24  2.26 
FTEC  0.0143   0.08  3.909   20.83  2.73 
FDIS  0.0144   0.08  2.227   20.17  1.36 
FENY  0.0262   0.08  4.386   25.97  1.34 

マイプロットコード:

for ticker,row in df.iterrows():  
    plt.scatter(row['PriceSales'], row['PriceEarnings'], c = np.random.rand(3,1), s = 300) 


for i, txt in enumerate(ticker): 
    plt.annotate(df.index[i-1], (df.PriceSales[i-1], df.PriceEarnings[i-1])) 

plt.xlabel('PriceSales') 
plt.ylabel('PriceEarnings') 
plt.show() 

マイグラフ画像:

enter image description here

答えて

2

ティッカーは、ここでのティッカーの価値を持っているとしています最後の行。 (例えば、「フェニ」)。列挙(ティッカー)を呼び出すと、各文字のアイテムが生成されるので、最後のティッカーには3つのエントリがあるようです。

私はあなたの散布図と同じループ内のポイントに注釈を付けることができると思います:ループ労働者に含める

for ticker,row in df.iterrows():  
    plt.scatter(row['PriceSales'], row['PriceEarnings'], c = np.random.rand(3,1), s = 300) 
    plt.annotate(ticker, (row['PriceSales'], row['PriceEarnings'])) 
+0

。私はそれについて考えなかったとは信じられませんが、解決に感謝します! – Evy555

関連する問題