用matplotlib制作马赛克图
几天没写文章了,一直在转载大佬的文章,我都有点不好意思了......
anyway!今天教大家用Python中的matplotlib制作马赛克图。
进行数据挖掘,数据分析必不可少的两门语言就是R和Python了,这两门语言并不是二择一的,各有各的优点,虽然说Python现在很火,但是R语言的绘图功能也很强大啊。
用于分类变量的列联分析里面有一款图,称为马赛克图,但是Python的matplotlib里面并没有......
首先产生一个dataframe
然后,利用层次化索引和groupby函数进行分组计数:
处理以产生列联表如下:
重点来了,针对每一行产生百分比,以保证每一行和为1。
画柱形图,可以看到两个柱子的高度是一样的,现在就可以比较了,但是还是不太美观。
处理一下柱子的宽度。
完成。可以由直观地看出类别foo里面,small占的比例比较大。
此外不同宽度也是可以自己设置的。
更多关于matplotlib绘图的知识参见matplotlib绘图大全。