散布図の各ドットにラベルを追加するにはどうすればよいですか?Matplotlib

パトリックアレン

ここに最初の投稿。PythonでNFLScraprパッケージをいじり始め、いくつかの情報を表示するために散布図を作成しようとしています。現在、散布図にはドットのみが表示されていますが、対応するデータから各プロットにラベルを追加する方法があるかどうか疑問に思いました。

これから始めました

league_rushing_success = data.loc[(data['play_type']=='run') & (data['down']<=4)].groupby(by='posteam')[['epa','success','yards_gained']].mean()

これでプロットしようとしています

#Make x and y variables for success rate data
x = league_rushing_success['success'].values
y = league_rushing_success['epa'].values
types = league_rushing_success['posteam'].values

fig, ax = plt.subplots(figsize=(10,10))

#Make a scatter plot with success rate data
ax.scatter(x, y,)

#Adding labels and text
ax.set_xlabel('Rush Success Rate', fontsize=14)
ax.set_ylabel('EPA', fontsize=14)
ax.set_title('Rush Success Rate and EPA', fontsize=18)
ax.text(.46, .39, 'Running Backs Dont Matter', fontsize=10, alpha=.7)

for i,type in enumerate(types):
    x = x_coords[i]
    y = y_coords[i]
    plt.scatter(x, y, marker='x', color='red')
    plt.text(x+0.3, y+0.3, type, fontsize=9)

私が得ているエラーは

KeyError                                  Traceback (most recent call last)
//anaconda3/lib/python3.7/site-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
   2656             try:
-> 2657                 return self._engine.get_loc(key)
   2658             except KeyError:

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: 'posteam'

During handling of the above exception, another exception occurred:

KeyError                                  Traceback (most recent call last)
<ipython-input-81-ebdc88aed0ac> in <module>
      2 x = league_rushing_success['success'].values
      3 y = league_rushing_success['epa'].values
----> 4 types = league_rushing_success['posteam'].values
      5 
      6 fig, ax = plt.subplots(figsize=(10,10))

//anaconda3/lib/python3.7/site-packages/pandas/core/frame.py in __getitem__(self, key)
   2925             if self.columns.nlevels > 1:
   2926                 return self._getitem_multilevel(key)
-> 2927             indexer = self.columns.get_loc(key)
   2928             if is_integer(indexer):
   2929                 indexer = [indexer]

//anaconda3/lib/python3.7/site-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
   2657                 return self._engine.get_loc(key)
   2658             except KeyError:
-> 2659                 return self._engine.get_loc(self._maybe_cast_indexer(key))
   2660         indexer = self.get_indexer([key], method=method, tolerance=tolerance)
   2661         if indexer.ndim > 1 or indexer.size > 1:

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: 'posteam'

ここに画像の説明を入力してください

政治学者

posteamはインデックスであるため、この行はエラーになります。

# error
types = league_rushing_success['posteam'].values

# try this
types = league_rushing_success.reset_index()['posteam'].values

あなたのコードからは、何x_coordsy_coords意味するのかもあまり明確ではありません(そしてあなたにもエラーを与えるでしょう):

for i,type in enumerate(types):
    x = x_coords[i] # would give name 'x_coords' is not defined
    y = y_coords[i] # 'y_coords' is not defined

プロットにラベルを追加したい場合は、調査することをお勧めします matplotlib.pyplot.annotate

# I would use something like this instead of `plt.text`
for i, txt in enumerate(types):
    ax.annotate(txt, (x[i], y[i]), xytext=(10,10), textcoords='offset points')
    plt.scatter(x, y, marker='x', color='red')

要約すると:

x = league_rushing_success['success'].values
y = league_rushing_success['epa'].values
types = league_rushing_success.reset_index()['posteam'].values

fig, ax = plt.subplots(figsize=(10,10))
ax.scatter(x, y)

ax.set_xlabel('Rush Success Rate', fontsize=14)
ax.set_ylabel('EPA', fontsize=14)
ax.set_title('Rush Success Rate and EPA', fontsize=18)

for i, txt in enumerate(types):
    ax.annotate(txt, (x[i], y[i]), xytext=(10,10), textcoords='offset points')
    plt.scatter(x, y, marker='x', color='red')

ここに画像の説明を入力してください

ポイントはランダムに生成されますが、プロットのスタイルは同じである必要があります。

これがお役に立てば幸いです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

散布図のポイント内にラベルを追加するにはどうすればよいですか?

分類Dev

散布図の点の平均にラベルを追加するにはどうすればよいですか?

分類Dev

matplotlibの散布図の各ポイントの色の異なる色合いをプロットするにはどうすればよいですか?

分類Dev

Altair散布図の最大点に単一のテキストラベルを追加するにはどうすればよいですか?

分類Dev

Python matplotlibのドット(散布)グラフにトレンドラインを追加するにはどうすればよいですか?

分類Dev

辞書のデータを使用して、matplotlibの散布図でグループにラベルを付けるにはどうすればよいですか?

分類Dev

ドットごとに2色の散布図を作成するにはどうすればよいですか?

分類Dev

Javaでjfreechartを使用して、散布図の各ドットに異なる色を割り当てるにはどうすればよいですか?

分類Dev

matplotlib散布図でカラーマップを正規化するにはどうすればよいですか?

分類Dev

matplotlib散布図に3次元として色を追加するにはどうすればよいですか?

分類Dev

ラベル付き散布図を作成するにはどうすればよいですか?

分類Dev

R散布図のデータポイントにggplotでより適切にラベルを付けるにはどうすればよいですか?

分類Dev

CanvasJSの散布図に最適な線(トレンドライン)を追加するにはどうすればよいですか?

分類Dev

Matplotlibで「ドットプロット」を作成するにはどうすればよいですか?(散布図ではありません)

分類Dev

Pythonで他のラベルと重複することなく、散布図ラベルを自動調整するにはどうすればよいですか?

分類Dev

散布図上の点の周りにドーナツグラフをプロットするにはどうすればよいですか?

分類Dev

散布図で円のドットを色で塗りつぶすようにRに指示するにはどうすればよいですか?

分類Dev

matplotlib pyplotで散布図の点の色を指定するにはどうすればよいですか?

分類Dev

散布図の平均線をプロットするにはどうすればよいですか?

分類Dev

Plotly:追加の変数の散布図にツールチップを追加するにはどうすればよいですか?

分類Dev

散布図のトレンドラインがx軸の境界を尊重するようにするにはどうすればよいですか?

分類Dev

Python Seabornのラインプロットの各マーカーに値/ラベルを追加するにはどうすればよいですか?

分類Dev

Matplotlib散布図でドット注釈を手動制限設定で調整するにはどうすればよいですか?

分類Dev

ダッシュ散布図散布図で手動でポイントカラーを設定するにはどうすればよいですか?

分類Dev

Python / Plotly:散布図の各データポイントが中央値を表すようにするにはどうすればよいですか?

分類Dev

Pythonのimshowプロットに軸ラベルを追加するにはどうすればよいですか?

分類Dev

forループの既存のmatplotlib図に行を追加するにはどうすればよいですか?

分類Dev

plotlyを使用して、それぞれがデータのサブセットを持つ複数のトレース/トレンドラインをRの単一の散布図に追加するにはどうすればよいですか?

分類Dev

asp GridViewの各セルにdivラッパーを追加するにはどうすればよいですか?

Related 関連記事

  1. 1

    散布図のポイント内にラベルを追加するにはどうすればよいですか?

  2. 2

    散布図の点の平均にラベルを追加するにはどうすればよいですか?

  3. 3

    matplotlibの散布図の各ポイントの色の異なる色合いをプロットするにはどうすればよいですか?

  4. 4

    Altair散布図の最大点に単一のテキストラベルを追加するにはどうすればよいですか?

  5. 5

    Python matplotlibのドット(散布)グラフにトレンドラインを追加するにはどうすればよいですか?

  6. 6

    辞書のデータを使用して、matplotlibの散布図でグループにラベルを付けるにはどうすればよいですか?

  7. 7

    ドットごとに2色の散布図を作成するにはどうすればよいですか?

  8. 8

    Javaでjfreechartを使用して、散布図の各ドットに異なる色を割り当てるにはどうすればよいですか?

  9. 9

    matplotlib散布図でカラーマップを正規化するにはどうすればよいですか?

  10. 10

    matplotlib散布図に3次元として色を追加するにはどうすればよいですか?

  11. 11

    ラベル付き散布図を作成するにはどうすればよいですか?

  12. 12

    R散布図のデータポイントにggplotでより適切にラベルを付けるにはどうすればよいですか?

  13. 13

    CanvasJSの散布図に最適な線(トレンドライン)を追加するにはどうすればよいですか?

  14. 14

    Matplotlibで「ドットプロット」を作成するにはどうすればよいですか?(散布図ではありません)

  15. 15

    Pythonで他のラベルと重複することなく、散布図ラベルを自動調整するにはどうすればよいですか?

  16. 16

    散布図上の点の周りにドーナツグラフをプロットするにはどうすればよいですか?

  17. 17

    散布図で円のドットを色で塗りつぶすようにRに指示するにはどうすればよいですか?

  18. 18

    matplotlib pyplotで散布図の点の色を指定するにはどうすればよいですか?

  19. 19

    散布図の平均線をプロットするにはどうすればよいですか?

  20. 20

    Plotly:追加の変数の散布図にツールチップを追加するにはどうすればよいですか?

  21. 21

    散布図のトレンドラインがx軸の境界を尊重するようにするにはどうすればよいですか?

  22. 22

    Python Seabornのラインプロットの各マーカーに値/ラベルを追加するにはどうすればよいですか?

  23. 23

    Matplotlib散布図でドット注釈を手動制限設定で調整するにはどうすればよいですか?

  24. 24

    ダッシュ散布図散布図で手動でポイントカラーを設定するにはどうすればよいですか?

  25. 25

    Python / Plotly:散布図の各データポイントが中央値を表すようにするにはどうすればよいですか?

  26. 26

    Pythonのimshowプロットに軸ラベルを追加するにはどうすればよいですか?

  27. 27

    forループの既存のmatplotlib図に行を追加するにはどうすればよいですか?

  28. 28

    plotlyを使用して、それぞれがデータのサブセットを持つ複数のトレース/トレンドラインをRの単一の散布図に追加するにはどうすればよいですか?

  29. 29

    asp GridViewの各セルにdivラッパーを追加するにはどうすればよいですか?

ホットタグ

アーカイブ