可视化相交集|Python中的Upset Chart
数据科学社区面临一个共同的问题,即理解多个集合之间的关系是一项基本的数据分析任务。
我找到了两个不同的软件包来创建upset chart,它们是pyUpset和upsetplot。
upsetplot:
“这是Lex等人的UpSet图的另一个Python实现。[ Lex2014 ]。它试图提供一个简单的界面,由可扩展的,面向对象的设计支持“ - 引自PyPI中的upsetplot的项目描述
基本输入格式是pandas.Series,包含与设置的交集大小相对应的计数的序列。
如何安装?
pip install upsetplot
Python示例:
from upsetplot import generate_data example = generate_data(aggregated=True) example
Output:
然后输入以下Python代码:
from upsetplot import plot plot(example)
生成:
垂直方向:可以使用以Python下代码旋转图形:
from matplotlib import pyplot as plt from upsetplot import generate_data, plot example = generate_data(aggregated=True) plot(example, orientation=’vertical’) plt.show()
输出:
pyUpset
Lex,Gehlenborg等人的UpSet可视化方法套件的纯python实现 - 引自Github中pyUpset的项目描述
如何安装?
pyUpSet在PyPI上,因此可以通过pip以下方式安装:
pip install pyupset
Python示例
import pyupset as pyu from pickle import load with open(‘./test_data_dict.pckl’, ‘rb’) as f: data_dict = load(f) pyu.plot(data_dict)
输出:
交叉点突出显示:
pyUpSet支持“queries”,即交叉点的突出显示。要突出显示的交叉点通过元组指定。例如,以下调用产生图形,其中突出显示所有数据,其对应于分类为“adventure”和“action”,或“romance”和“war”的电影。
Python码:
pyu.plot(data_dict, unique_keys = [‘title’], additional_plots=[{‘kind’:’scatter’, ‘data_quantities’:{‘x’:’views’, ‘y’:’rating_std’}}, {‘kind’:’hist’, ‘data_quantities’:{‘x’:’views’}}], query = [(‘adventure’, ‘action’), (‘romance’, ‘war’)])
输出:
pyUpset vs upsetplot:
- 与upsetplot相比,pyUpset更强大。pyUpset让用户使用查询的强大功能,即突出显示交叉点
- py-upset不再维护了
- py-upset的输入格式没有记录,而upsetplot的输入格式已有详细记录
- py-upset不支持python 2和更新版本的matplotlib
- upsetplot是一个更干净的版本,一旦输入数据集固定,就可以轻松实现
相关推荐
pointfish 2011-03-24
dflyzx 2020-09-23
hubanbei00的家园 2020-07-18
春雨的雕刻时光 2020-06-10
kjh00abc 2020-05-31
yuanshuai 2020-05-20
JustHaveTry 2020-05-19
xingyuzhe 2020-05-12
xingyuzhe 2020-04-26
kjh00abc 2020-03-03
xingyuzhe 2020-03-01
xingyuzhe 2020-02-12
技术积累LZ 2020-01-13
CurrentJ 2020-01-06
limx 2019-12-09
xiaoxiaoniaoer 2019-12-04
Sincelily 2019-11-26
JustHaveTry 2019-11-04
CSSEIKOCS 2014-06-26