diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-upsetplot.spec | 288 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 290 insertions, 0 deletions
@@ -0,0 +1 @@ +/UpSetPlot-0.8.0.tar.gz diff --git a/python-upsetplot.spec b/python-upsetplot.spec new file mode 100644 index 0000000..ce5ad85 --- /dev/null +++ b/python-upsetplot.spec @@ -0,0 +1,288 @@ +%global _empty_manifest_terminate_build 0 +Name: python-UpSetPlot +Version: 0.8.0 +Release: 1 +Summary: Draw Lex et al.'s UpSet plots with Pandas and Matplotlib +License: BSD-3-Clause +URL: https://upsetplot.readthedocs.io +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/25/62/f9ab73c23da63d77e8498253b043d03c65c259f4d0358309b37f56cdf5cd/UpSetPlot-0.8.0.tar.gz +BuildArch: noarch + + +%description +|version| |licence| |py-versions| +|issues| |build| |docs| |coverage| +This is another Python implementation of UpSet plots by Lex et al. [Lex2014]_. +UpSet plots are used to visualise set overlaps; like Venn diagrams but +more readable. Documentation is at https://upsetplot.readthedocs.io. +This ``upsetplot`` library tries to provide a simple interface backed by an +extensible, object-oriented design. +There are many ways to represent the categorisation of data, as covered in +our `Data Format Guide <https://upsetplot.readthedocs.io/en/stable/formats.html>`_. +Our internal input format uses a `pandas.Series` containing counts +corresponding to subset sizes, where each subset is an intersection of named +categories. The index of the Series indicates which rows pertain to which +categories, by having multiple boolean indices, like ``example`` in the +following:: + >>> from upsetplot import generate_counts + >>> example = generate_counts() + >>> example + cat0 cat1 cat2 + False False False 56 + True 283 + True False 1279 + True 5882 + True False False 24 + True 90 + True False 429 + True 1957 + Name: value, dtype: int64 +Then:: + >>> from upsetplot import plot + >>> plot(example) # doctest: +SKIP + >>> from matplotlib import pyplot + >>> pyplot.show() # doctest: +SKIP +makes: +And you can save the image in various formats:: + >>> pyplot.savefig("/path/to/myplot.pdf") # doctest: +SKIP + >>> pyplot.savefig("/path/to/myplot.png") # doctest: +SKIP +This plot shows the cardinality of every category combination seen in our data. +The leftmost column counts items absent from any category. The next three +columns count items only in ``cat1``, ``cat2`` and ``cat3`` respectively, with +following columns showing cardinalities for items in each combination of +exactly two named sets. The rightmost column counts items in all three sets. +Rotation +We call the above plot style "horizontal" because the category intersections +are presented from left to right. `Vertical plots +<http://upsetplot.readthedocs.io/en/latest/auto_examples/plot_vertical.html>`__ +are also supported! +Distributions +Providing a DataFrame rather than a Series as input allows us to expressively +`plot the distribution of variables +<http://upsetplot.readthedocs.io/en/latest/auto_examples/plot_boston.html>`__ +in each subset. +Loading datasets +While the dataset above is randomly generated, you can prepare your own dataset +for input to upsetplot. A helpful tool is `from_memberships`, which allows +us to reconstruct the example above by indicating each data point's category +membership:: + >>> from upsetplot import from_memberships + >>> example = from_memberships( + >>> example + cat0 cat1 cat2 + False False False 56 + True 283 + True False 1279 + True 5882 + True False False 24 + True 90 + True False 429 + True 1957 + dtype: int64 +See also `from_contents`, another way to describe categorised data, and +`from_indicators` which allows each category to be indicated by a column in +the data frame (or a function of the column's data such as whether it is a +missing value). + +%package -n python3-UpSetPlot +Summary: Draw Lex et al.'s UpSet plots with Pandas and Matplotlib +Provides: python-UpSetPlot +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-UpSetPlot +|version| |licence| |py-versions| +|issues| |build| |docs| |coverage| +This is another Python implementation of UpSet plots by Lex et al. [Lex2014]_. +UpSet plots are used to visualise set overlaps; like Venn diagrams but +more readable. Documentation is at https://upsetplot.readthedocs.io. +This ``upsetplot`` library tries to provide a simple interface backed by an +extensible, object-oriented design. +There are many ways to represent the categorisation of data, as covered in +our `Data Format Guide <https://upsetplot.readthedocs.io/en/stable/formats.html>`_. +Our internal input format uses a `pandas.Series` containing counts +corresponding to subset sizes, where each subset is an intersection of named +categories. The index of the Series indicates which rows pertain to which +categories, by having multiple boolean indices, like ``example`` in the +following:: + >>> from upsetplot import generate_counts + >>> example = generate_counts() + >>> example + cat0 cat1 cat2 + False False False 56 + True 283 + True False 1279 + True 5882 + True False False 24 + True 90 + True False 429 + True 1957 + Name: value, dtype: int64 +Then:: + >>> from upsetplot import plot + >>> plot(example) # doctest: +SKIP + >>> from matplotlib import pyplot + >>> pyplot.show() # doctest: +SKIP +makes: +And you can save the image in various formats:: + >>> pyplot.savefig("/path/to/myplot.pdf") # doctest: +SKIP + >>> pyplot.savefig("/path/to/myplot.png") # doctest: +SKIP +This plot shows the cardinality of every category combination seen in our data. +The leftmost column counts items absent from any category. The next three +columns count items only in ``cat1``, ``cat2`` and ``cat3`` respectively, with +following columns showing cardinalities for items in each combination of +exactly two named sets. The rightmost column counts items in all three sets. +Rotation +We call the above plot style "horizontal" because the category intersections +are presented from left to right. `Vertical plots +<http://upsetplot.readthedocs.io/en/latest/auto_examples/plot_vertical.html>`__ +are also supported! +Distributions +Providing a DataFrame rather than a Series as input allows us to expressively +`plot the distribution of variables +<http://upsetplot.readthedocs.io/en/latest/auto_examples/plot_boston.html>`__ +in each subset. +Loading datasets +While the dataset above is randomly generated, you can prepare your own dataset +for input to upsetplot. A helpful tool is `from_memberships`, which allows +us to reconstruct the example above by indicating each data point's category +membership:: + >>> from upsetplot import from_memberships + >>> example = from_memberships( + >>> example + cat0 cat1 cat2 + False False False 56 + True 283 + True False 1279 + True 5882 + True False False 24 + True 90 + True False 429 + True 1957 + dtype: int64 +See also `from_contents`, another way to describe categorised data, and +`from_indicators` which allows each category to be indicated by a column in +the data frame (or a function of the column's data such as whether it is a +missing value). + +%package help +Summary: Development documents and examples for UpSetPlot +Provides: python3-UpSetPlot-doc +%description help +|version| |licence| |py-versions| +|issues| |build| |docs| |coverage| +This is another Python implementation of UpSet plots by Lex et al. [Lex2014]_. +UpSet plots are used to visualise set overlaps; like Venn diagrams but +more readable. Documentation is at https://upsetplot.readthedocs.io. +This ``upsetplot`` library tries to provide a simple interface backed by an +extensible, object-oriented design. +There are many ways to represent the categorisation of data, as covered in +our `Data Format Guide <https://upsetplot.readthedocs.io/en/stable/formats.html>`_. +Our internal input format uses a `pandas.Series` containing counts +corresponding to subset sizes, where each subset is an intersection of named +categories. The index of the Series indicates which rows pertain to which +categories, by having multiple boolean indices, like ``example`` in the +following:: + >>> from upsetplot import generate_counts + >>> example = generate_counts() + >>> example + cat0 cat1 cat2 + False False False 56 + True 283 + True False 1279 + True 5882 + True False False 24 + True 90 + True False 429 + True 1957 + Name: value, dtype: int64 +Then:: + >>> from upsetplot import plot + >>> plot(example) # doctest: +SKIP + >>> from matplotlib import pyplot + >>> pyplot.show() # doctest: +SKIP +makes: +And you can save the image in various formats:: + >>> pyplot.savefig("/path/to/myplot.pdf") # doctest: +SKIP + >>> pyplot.savefig("/path/to/myplot.png") # doctest: +SKIP +This plot shows the cardinality of every category combination seen in our data. +The leftmost column counts items absent from any category. The next three +columns count items only in ``cat1``, ``cat2`` and ``cat3`` respectively, with +following columns showing cardinalities for items in each combination of +exactly two named sets. The rightmost column counts items in all three sets. +Rotation +We call the above plot style "horizontal" because the category intersections +are presented from left to right. `Vertical plots +<http://upsetplot.readthedocs.io/en/latest/auto_examples/plot_vertical.html>`__ +are also supported! +Distributions +Providing a DataFrame rather than a Series as input allows us to expressively +`plot the distribution of variables +<http://upsetplot.readthedocs.io/en/latest/auto_examples/plot_boston.html>`__ +in each subset. +Loading datasets +While the dataset above is randomly generated, you can prepare your own dataset +for input to upsetplot. A helpful tool is `from_memberships`, which allows +us to reconstruct the example above by indicating each data point's category +membership:: + >>> from upsetplot import from_memberships + >>> example = from_memberships( + >>> example + cat0 cat1 cat2 + False False False 56 + True 283 + True False 1279 + True 5882 + True False False 24 + True 90 + True False 429 + True 1957 + dtype: int64 +See also `from_contents`, another way to describe categorised data, and +`from_indicators` which allows each category to be indicated by a column in +the data frame (or a function of the column's data such as whether it is a +missing value). + +%prep +%autosetup -n UpSetPlot-0.8.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-UpSetPlot -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 0.8.0-1 +- Package Spec generated @@ -0,0 +1 @@ +16cff9af79ce0ab28eaed323edfb443c UpSetPlot-0.8.0.tar.gz |
