Назначение ключевого слова «ax» в функции pandas scatter_matrix

Я озадачен значением ключевого слова « ax » в функции pandas scatter_matrix :

pd.scatter_matrix (frame, alpha = 0.5, figsize = None, ax = None , grid = False, diagonal = 'hist', marker = '.', density_kwds = {}, hist_kwds = {}, ** kwds)

Единственный ключ, указанный в docstring для ключевого слова ax, слишком загадочен для меня:

ax : Matplotlib axis object 

Я просмотрел код pandas для функции scatter_matrix, а переменная ax включается в следующие подзадачи matplotlib:

 fig, axes = plt.subplots(nrows=n, ncols=n, figsize=figsize, ax=ax, squeeze=False) 

Но, для жизни меня, я не могу найти ссылку на ключевое слово «ax» в подзаголовках matplotlib!

Может ли кто-нибудь сказать мне, для чего это ключевое слово ax?

Короче говоря, он нацелен на подзадачу внутри сетки.

Например, если у вас есть nrows=2 и ncols=2 , то ax позволяет вам строить на определенной оси, передавая ax=axes[0,0] (вверху слева) или ax=axes[1,1] (нижний правый ), и т.д.

Когда вы создаете подзаголовки, вы получаете переменную axes . Вы можете позже построить (или подзаголовок) с элементом этой переменной axes как указано выше.

Взгляните на раздел «Таргетинг на различные подзаголовки» на этой странице: http://pandas.pydata.org/pandas-docs/dev/visualization.html#targeting-different-subplots

Надеюсь, это поможет.

Здесь сложно. Когда вы смотрите на источник pandas scatter_matrix вы найдете эту строку сразу после docstring:

 fig, axes = _subplots(nrows=n, ncols=n, figsize=figsize, ax=ax, squeeze=False) 

Следовательно, внутренне, новая фигура, комбинация осей создается с использованием внутреннего метода _subplots . Это сильно связано с командой subplots matplotlibs, но немного отличается. Здесь также ax ключевое слово ax . Если вы посмотрите на соответствующий источник ( pandas.tools.plotting._subplots ), вы найдете следующие строки:

 if ax is None: fig = plt.figure(**fig_kw) else: fig = ax.get_figure() fig.clear() 

Следовательно, если вы предоставляете объект осей (например, созданный с помощью команды подмножества matplotlibs), pandas scatter_matrix захватывает соответствующий (matplolib) фигурный объект и удаляет его содержимое. Затем в этот фигурный объект создается новая сетка подзаголовков.

В общем, ключевое слово ax позволяет построить матрицу рассеяния на заданную цифру (хотя IMHO немного странным образом).