-
-
Notifications
You must be signed in to change notification settings - Fork 18.7k
Closed
Labels
Description
scatter_matrix
(deprecate, redirect toseaborn
)andrews_curve
parallel_coordinates
lag_plot
(maybe rename tolag
)autocorrelation_plot
(maybe rename toautocorrelation
?)bootstrap_plot
(maybe rename tobootstrap
?)radviz
To pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel.
I think it would be nice to allow scatter_matrix to be called directly on a DataFrame. Currently, scatter_matrix
is a separate function that takes a DataFrame as a parameter, but it seems like it would be easy enough to rework to allow it to be called directly on a DataFrame as well. Effectively, the convenience function would look something like:
def scatter_matrix(self, ...):
pandas.tools.plotting.scatter_matrix(self.data, ...)
Is this feature feasible?
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity
TomAugspurger commentedon Jan 7, 2016
We could probably do this as
DataFrame.plot.scatter_matrix
. I'm not sure why this wasn't ever folded into thedf.plot(kind=)
function.Also, the standard disclaimer that seaborn does this better
jreback commentedon Jan 7, 2016
actually prob all should be added via the plot accessor: http://pandas.pydata.org/pandas-docs/stable/visualization.html#plotting-tools
[-]Allow scatter_matrix to be called directly on a DataFrame[/-][+]ENH: other plotting tools via plot accessor[/+]shoyer commentedon Jan 7, 2016
Something to consider: Maybe we want to deprecate some of these more complex plot types? For example, seaborn does a better job of scatter matrix than we do...
jreback commentedon Jan 7, 2016
absolutely let's do that. any others?
bootstrap
,autocorrelation
,lag
for statsmodels?cc @jseabold
cc @josef-pkt
rhiever commentedon Jan 7, 2016
@shoyer: IMO the scatter matrix is a basic plot type that people would want to see for a DataFrame.
jorisvandenbossche commentedon Jan 7, 2016
I agree with @shoyer. These plotting methods are rather 'neglected' lately. I think we should either choose to give them more attention, or deprecate them. And personally I think it should not be the focus of pandas.
But maybe
scatter_matrix
as the IMO the most generic of the plotting methods listed can be the exception?jreback commentedon Jan 7, 2016
why don't we defer scatter_mattix to seaborn anyhow? so seaborn becomes an optional dep)
josef-pkt commentedon Jan 7, 2016
@jreback how well are optional circular dependencies no supported in various packagings?
I haven't kept up with it, but we get circular dependency pandas - seaborn - statsmodels.
I'm in favor of tight integration, in general.
I'm not a heavy pandas user directly, but I also find some quick plot methods convenient, instead of having to look for the appropriate function in another package.
about plots in statsmodels: plots are mostly in a minimal maintenance state. There is not much effort for a style update to make them look better, e.g. compared to seaborn, because of a lack of developers.
However, we need them in support of the models and other stats functions and still keep adding more.
For example, acf and pacf are some of our oldest plot functions and won't go away.
Trying to use seaborn as optional statsmodels dependency to upgrade plots is an idea but doesn't have a champion to look into it and work on it. For many plots the focus of seaborn is exploratory analysis which is more similar to the pandas use, but for us having a model inside the plot is inside out because we need plots inside the models, or after having estimated a model.
jreback commentedon Jan 7, 2016
using seaborn (or sm using pandas is no problem here)
you can simply import inside the method itself
4 remaining items
max-sixty commentedon Jan 7, 2016
👍
Ochirgarid commentedon Sep 2, 2019
Received this issue from CodeTriage. Seems like it is already closed issue @jorisvandenbossche could you explain why you reopened the issue?
mroeschke commentedon Apr 21, 2021
From the reversion of this feature in #24912 and discussion within, it appears that there's not much appetite in supporting this directly in an accessor and having a free standing function is fine. Closing.