#!/usr/bin/env python # coding: utf-8 # In[16]: import pandas as pd import seaborn as sns get_ipython().run_line_magic('matplotlib', 'inline') sns.set_style('darkgrid') def pipe(self, func, *args, **kwargs): if hasattr(func, 'pipe_arg'): kwargs[func.pipe_arg] = self return func(*args, **kwargs) return func(self, *args, **kwargs) pd.DataFrame.pipe = pipe sns.violinplot.pipe_arg = 'data' # In[17]: iris = sns.load_dataset('iris') # In[18]: sns.violinplot(x='species', y='sepal_width', data=iris) # In[19]: sns.violinplot('species', 'sepal_width', data=iris) # In[20]: iris.pipe(sns.violinplot, 'species', 'sepal_width') # In[21]: iris.pipe(sns.violinplot, x='species', y='sepal_width')