# plotting distributions, direct input of histogram

5 messages
Open this post in threaded view
|

## plotting distributions, direct input of histogram

 I'm frequently plotting distributions using e.g., boxplot, violinplot.   But I've already binned my data using my own histogram class.  So I already have an array of bins, and array of counts for each bin. I don't see any way to directly input this data to plotting routines such as boxplot or violinplot.  What I've been doing is using collections.Counter to convert this into a single array, for example if the value '10' occurs '1000' times, I produce an array with [10]*1000.  Obviously, this doesn't scale to 10's of millions of samples. Is there any way to input my data that already has been binned and counted? Thanks, Neal (Also, I really wish the same for seaborn) _______________________________________________ Matplotlib-users mailing list [hidden email] https://mail.python.org/mailman/listinfo/matplotlib-users
Open this post in threaded view
|

## Re: plotting distributions, direct input of histogram

 For boxplots with predefined statistics consider the `ax.bxp` function, https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.axes.Axes.bxp.htmlFor violinplots, one can use `ax.violin`, https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.axes.Axes.violin.htmlhowever, you would need to have calculated the kernel density estimate yourself, which is in general impossible with already aggregated statistics. Am 02.08.2019 um 13:32 schrieb Neal Becker: > I'm frequently plotting distributions using e.g., boxplot, violinplot.   But > I've already binned my data using my own histogram class.  So I already have > an array of bins, and array of counts for each bin. > > I don't see any way to directly input this data to plotting routines such as > boxplot or violinplot.  What I've been doing is using collections.Counter to > convert this into a single array, for example if the value '10' occurs > '1000' times, I produce an array with [10]*1000.  Obviously, this doesn't > scale to 10's of millions of samples. > > Is there any way to input my data that already has been binned and counted? > > Thanks, > Neal > > (Also, I really wish the same for seaborn) > > _______________________________________________ > Matplotlib-users mailing list > [hidden email] > https://mail.python.org/mailman/listinfo/matplotlib-users> > _______________________________________________ Matplotlib-users mailing list [hidden email] https://mail.python.org/mailman/listinfo/matplotlib-users
Open this post in threaded view
|

## Re: plotting distributions, direct input of histogram

 I don't see how a binned histogram results are compatible with a boxplot, which directly computes the quartiles and fences from raw data. I don't understand how we'd begin to infer what those value are.-paulOn Fri, Aug 2, 2019 at 1:36 PM Elan Ernest <[hidden email]> wrote:For boxplots with predefined statistics consider the `ax.bxp` function, https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.axes.Axes.bxp.html For violinplots, one can use `ax.violin`, https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.axes.Axes.violin.html however, you would need to have calculated the kernel density estimate yourself, which is in general impossible with already aggregated statistics. Am 02.08.2019 um 13:32 schrieb Neal Becker: > I'm frequently plotting distributions using e.g., boxplot, violinplot.   But > I've already binned my data using my own histogram class.  So I already have > an array of bins, and array of counts for each bin. > > I don't see any way to directly input this data to plotting routines such as > boxplot or violinplot.  What I've been doing is using collections.Counter to > convert this into a single array, for example if the value '10' occurs > '1000' times, I produce an array with [10]*1000.  Obviously, this doesn't > scale to 10's of millions of samples. > > Is there any way to input my data that already has been binned and counted? > > Thanks, > Neal > > (Also, I really wish the same for seaborn) > > _______________________________________________ > Matplotlib-users mailing list > [hidden email] > https://mail.python.org/mailman/listinfo/matplotlib-users > > _______________________________________________ Matplotlib-users mailing list [hidden email] https://mail.python.org/mailman/listinfo/matplotlib-users _______________________________________________ Matplotlib-users mailing list [hidden email] https://mail.python.org/mailman/listinfo/matplotlib-users