これまでのところうまく動作しているpcolor用のpick_eventを作成しようとしています。しかし、私は基礎となるパンダのDataFrameの列とインデックス名を取得したいと思います。 event.indでは、私はちょうど値を無視してカウントされるように見える1つの値を取得します。Python - Pick_Event for pcolor get pandasカラムとインデックスの値
最終的には、同じインデックスと列の値を持つ別のpandas DataFrameから値を返すために、列名とインデックス名を使用したいと思います。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
class colormap:
def __init__(self):
pass
def create(self):
fig, ax = plt.subplots()
data = pd.DataFrame(np.arange(0,12).reshape(3,4), index=['a', 'b', 'c'], columns=['A', 'B', 'C', 'D'], dtype=float)
data.set_value('a', 'B', np.nan)
data = np.ma.masked_where(np.isnan(data), data)
ax.pcolor(data, edgecolors='k', linewidths=0.2, cmap='RdBu', picker=1)
fig.canvas.mpl_connect('pick_event', self.onpick)
plt.show()
def onpick(self, event):
self.event = event
self.thisline = event.artist
ind = event.ind
print(ind)
if __name__ == '__main__':
self = colormap()
self.create()
ありがとうございます、それはすでに解決策に近づいています。私は、選択されたデータポイントのインデックスと列の値を取得する方法についてはまだ苦労しています。 – Tobias
私はここで質問があります:あなたは常にインデックススケール上にpcolorをプロットしていますか、最終的には異なるスケーリングを使用したいのですか(つまり、軸が0から3または4になると、 )。 – ImportanceOfBeingErnest
スケールは最終的にデータセットに応じて変更されます – Tobias