2013-06-11 2 views

답변

2

직접적인 방법은 없지만 cs.collectionscs.levels (이후 "z"값)과 동일한 순서입니다. 빠른 대화 형 예를 들어

lookup = dict(zip(cs.collections, cs.levels)) 
z = lookup[line_collection_artist] 

:

따라서 그런 짓을하는 가장 쉬운 방법

import numpy as np 
import matplotlib.pyplot as plt 

def main(): 
    fig, ax = plt.subplots() 
    cs = ax.contour(np.random.random((10,10))) 

    callback = ContourCallback(cs) 
    plt.setp(cs.collections, picker=5) 
    fig.canvas.mpl_connect('pick_event', callback) 

    plt.show() 

class ContourCallback(object): 
    def __init__(self, cs): 
     self.lookup = dict(zip(cs.collections, cs.levels)) 

    def __call__(self, event): 
     print self.lookup[event.artist] 

main()