pygal 是一个基于SVG的动态可视化Python库,该库枚举了各种常用不常用的图表类型,满足基本的可视化需求,可以画简单的地图。其特点是接口易用,有很多简化的写法,方便得绘制出统计图表,可以生成迷你图,有基本交互,不需要额外的语句,鼠标移动到图表上有文本标签强化效果。但图表不能直接渲染到notebook里,不能合并多个图,例如柱+折线形成复合图,因此使用范围还是比较有限。

绘图框架

一个很sexy的写法:

阅读全文 »

Seaborn简介

Matplotlib虽然提供了丰富而强大的接口用于数据的可视化,但在展现多类数据关系时,需要较多数据处理过程,语句就变得繁琐,因此seaborn针对这类需求,基于matplotlib提供了更高层的接口,擅长统计数据的可视化。seaborn可视化的写法和matplotlib基本相同。其代码框架如下:

1
2
3
4
5
import seaborn as sns  #导入seabron库
tips = pd.read_excel('tips.xlsx') #dataframe数据
sns.relplot(x="total_bill", y="tip", col="time",
hue="smoker", style="smoker", size="size",
data=tips)
阅读全文 »

本文是《数据可视化实战:使用D3设计交互式图表》【1】的简要版读书笔记,通过约4000字概览如何用D3做可视化、实践从数据到图形的过程。D3是一个根据数据操纵文档的JavaScript库【2】,其全称Data-Driven Documents强调了这一点。D3的功能不止于做可视化,Documents代表可以在浏览器中展现的一切,包括HTML、SVG,根据数据操纵DOM(Document Object Model)可实现非常多的效果,但通常大家通常用D3来将数据映射为可视图形。

阅读全文 »

简介

toyplot是一个基于canvas的简洁的Python可视化库,还在发展中,目前是0.19版;
打印标准图,有一定交互性,底层是canvas,易于在前端使用分享;
在notebook中的渲染,在其他环境中的内嵌做得挺好;qt等GUI环境支持好;
用css的写法配置样式,目前这个库在gtihub上有400余个star。

绘图框架:

阅读全文 »

Matplotlib tries to make easy things easy and hard things possible.

在本系列的上篇文章里,我们从Matplotlib的基础可视化框架开始,逐步画出折线图、柱状图等基础图表,通过对坐标轴标签、标题文本等的精细调节画出信息更明确丰富的可视图,也实践了双轴图及子图,最后看了下极坐标系下绘图的效果。本篇继续探索Matplotlib的强悍可视化能力。

Matplotlib动态可视化

阅读全文 »

Matplotlib可以说是Python最声名远扬的可视化库了,也是Python数据分析库的“三驾马车”之一。Matplotlib是基础而非常强大的可视化库,Seaborn等好用的可视化库是在前者的基础上进行的封装。Matplotlib擅长快速出简单的图、有丰富的接口进行精细化绘图、和Numpy结合做科学可视化及三维图配合默契、三维图。但也有些缺点,如不容易基于实用目的绘制有一定难度的图表(如小提琴图等)、标签等元素需指定坐标而不能自适应优化显示、难以实现交互。

官网说:

Matplotlib tries to make easy things easy and hard things possible.

阅读全文 »

24点是指从去除大小王后的52张扑克牌中任取 4 张,通过「加、减、乘、除」四则运算得到 24。是一个历史悠久的趣味小游戏。

《数据化管理》书中在测试数据敏感度章节提到一个细节“每天上下班的路上,盯着公交车外看到的汽车尾部牌照玩24点”,去练运算能力。根据排列组合知识可以算出:在1-10的数字中任选4个,有C(13,4)=715种情况(因为数字可以重复,如[5,5,5,5],故不是直接从10个数中取4个的组合),从1-13中任选4个是C(16,4)=1820种情况,经过大佬门的枚举和推导,只考虑加减乘除,715种情况中,有566种有解,也就是79.16%的概率,而从1~13中选的1820种情况中是1362种情况下能算出24点,概率为74.83%

阅读全文 »

我们在处理时间相关的数据时有很多库可以用,最常用的还是内置的datetime、time这两个。做数据分析时基本都会导入pandas库,而pandas提供了Timestamp和Timedelta两个也很强大的类,并且在其官方文档上直接写着对标datetime.datetime,所以就打算深入一下pandas内置的Timestamp的用法,在不导入datetime等库的时候实现对时间相关数据的处理。

Timestamp基本构成

阅读全文 »

最近遇到一个有意思的题目,看上去不相关的两个事物有着同样的转移状态,并且设定规则后过程可以用程序模拟出来,遂记之。

问题提出

你有一个8升的酒坛,里面装满了酒,另外还有两个分别是5升和3升的空酒坛,3个酒坛都没有刻度,现在需要倒出正好4升的酒,需要怎么操作?

阅读全文 »

平时看到的豆瓣爬虫基本都是爬豆瓣top100电影、某电影热评、top100图书、热门图书等,最近遇到的一个需求是根据一堆书名的列表(或者书名Excel文件)爬取对应的书目信息,也就是豆瓣图书页面上的出版社、出版时间、ISBN、定价、评分、评分人数等信息,再整合到pandas里进行处理,最后可以进行数据分析。

豆瓣读书爬虫需求

阅读全文 »