Я создал функцию, которая создает эмпирическую функцию кумулятивного распределения с использованием Seaborn и возвращает ее в качестве объекта топора.Однако, когда я вызываю функцию, отображается график, и я хотел бы подавить это.
Кроме того, я хотел бы знать, как отобразить объект топора, возвращаемый функцией.
Длявоспроизводимый пример:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
def ECDF(df, column, xlabel, ylabel, title, label, fig_size)
x = df[column].sort_values()
y = np.arange(1, len(x) + 1)/len(x)
f, ax = plt.subplots(figsize=fig_size)
_ = sns.regplot(x, y, fit_reg = False, scatter_kws = {'s' : 1}, label = label, ax = ax)
ax.set_xlabel(xlabel)
ax.set_ylabel(ylabel)
ax.set_title(title)
ax.legend()
return ax
iris = sns.load_dataset("iris")
ax1 = ECDF(df = iris[iris['species'] == 'versicolor'], column = 'petal_length', \
xlabel = 'Petal Length (cm)', \
ylabel = 'Percent of Flowers with at most this Petal Length (cm) ', \
title = 'Empirical Cumulative Distribution Function \n Petal Length (cm)', \
label = 'versicolor', fig_size = (12,7))
Когда я запускаю эту команду, автоматически отображается следующий график:

Кроме того, когда яосмотреть возвращенный объект я получаю:
type(ax1)
matplotlib.axes._subplots.AxesSubplot
Как мне показать сюжет ax1?