在第一篇笔记里简单介绍了SVG,SVG(Scalable Vector Graphics,可伸缩矢量图形)是HTML里的一种标签,也可以独立保存为.svg的文件,SVG 基于 XML 格式定义图像,通常使用SVG作为d3绘图的容器。

个人认为熟悉SVG中各种图形元素的属性对于学习D3是磨刀不误砍柴工。而且svg的应用场景广泛,不止于D3,也方便自己理解其他库或者软件生成的svg图形文档。

SVG元素的基础写法:

阅读全文 »

D3根据数据的内容操纵HTML文档对象,实现把数据变成可视图。要操纵文档对象,例如在<body>里添加一个<svg>、编辑<svg>标签里的一个矩形,要完成这些首先需要能定位到我们需要操作的元素。再结合数据操作这些元素。

本篇具体展开D3用于选择及增删文档对象的方法以及数据绑定的方法。

阅读全文 »

D3是什么?狭义的理解是一个JavaScript可视化库。通过操作HTML的基础元素或SVG元素构建可视化图形,绘制出精美交互性强的可视化图像。D3是Data-Driven Documents的简写,一个基于数据操纵文档的JavaScript库,文档指的是HTML的DOM,即文档对象模型(Document Object Model),D3提供了各种实用的方法将数据绑定到DOM,根据数据操纵文档,画图只是它的功能之一。

D3第一行代码

阅读全文 »

bqplot简介

官方文档简介是 一个jupyter notebook上的基于图形语法的声明式可视化框架
该库的目标是提供一套框架统一的二维可视化API,并且提供合理的交互接口。

和numpy的配合挺好的,pandas的一列也可以直接用

阅读全文 »

对于一些大家期待的电影会想值得它什么时候预售,特别是某些热门的电影,若是不及时知道预售开始的消息很可能抢不到好位置的票。对于某部特别热门的电影,有童鞋在朋友圈说不怕期中,4月就怕抢不到某电影首映的票。虽然一些相关的公众号或者微博会在得到消息后及时更新,但是从技术的角度考虑,随着各种集成票务平台的发展,我们可以自己跑个程序监测某些电影是否开启了预售。

阅读全文 »

手机和数码相机拍的照片里除了我们能看到的RGB像元数据,还包含了拍摄时间、图像分辨率、感光值、GPS坐标等属性,记录在Exif(Exchangeable image file format)模块里。

随着手机像素越来越高,用手机记录身边的事(和自拍)已经变成很自然的动作,在一年里我们的手机肯定存了很多照片,照片和Exif数据块中的位置可以做哪些有趣的事情?一张图片和对应的拍摄位置如果没那么多可能性,那一系列照片和位置呢?

阅读全文 »

需求说明

在编写和调试程序时,一般我们会在集成编辑环境里写代码和运行,但如果程序比较完善需要快速运行,或者让同事在其他电脑上快速运行时,再打开IDE(Integrated Development Environment ,集成开发环境)运行就有些麻烦了,对方也不一定很熟练使用命令行进行运行,因此在Windows下要解决这个问题一般有两种思路:

  • 1,把程序编译为exe文件,就是一个小软件,和QQ等软件的运行方式基本无差别,通过鼠标点击运行;
  • 2,另外的做法是编写批处理文件,点击批处理文件就会按顺序执行命令行(在其他电脑运行是需要保证对方正确安装了编程/编译环境,例如是运行Python程序需要安装好Python、Java程序需要安装好JDK并配置好环境变量)。

Windows下的批处理文件后缀是.bat;点击该文件就可以执行。

阅读全文 »

在写一些概率统计题的模拟时,经常需要把A(n,n)、C(n,m)的排列组合全部列出来,这里记录一下A(n,n)全排列全部遍历的实现。根据概率论中的排列组合知识知道A(n,n)=n!=n*(n-1)…*1;最终结果数是n的阶乘个,例如对于集合{1,2,3},有6种全排列。

阅读全文 »

最近做的项目需要详细了解geojson,因此查了一些资料,现在整理一份标准格式的记录,要理解本文需要首先了解json的基本知识,这里不过多展开,可以去参考w3school上的教程,简言之,json是通过键值对表示数据对象的一种格式,可以很好地表达数据,其全称为JavaScript Object Notation(JavaScript Object Notation),正如这个名称,JavaScript和json联系紧密,但是json可以应用的范围很广,不止于前端,它比XML数据更轻量、更容易解析(某种角度上说xml可以更自由地封装更多的数据)。很多编程语言都有对应的json解析库,例如Python的json库,C#的Newtonsoft.Json,Java的org.json。geojson是用json的语法表达和存储地理数据,可以说是json的子集。

例如下面就是一个点数据:

阅读全文 »