在第一篇笔记里简单介绍了SVG,SVG(Scalable Vector Graphics,可伸缩矢量图形)是HTML里的一种标签,也可以独立保存为.svg的文件,SVG 基于 XML 格式定义图像,通常使用SVG作为d3绘图的容器。
个人认为熟悉SVG中各种图形元素的属性对于学习D3是磨刀不误砍柴工。而且svg的应用场景广泛,不止于D3,也方便自己理解其他库或者软件生成的svg图形文档。
SVG元素的基础写法:
在第一篇笔记里简单介绍了SVG,SVG(Scalable Vector Graphics,可伸缩矢量图形)是HTML里的一种标签,也可以独立保存为.svg的文件,SVG 基于 XML 格式定义图像,通常使用SVG作为d3绘图的容器。
个人认为熟悉SVG中各种图形元素的属性对于学习D3是磨刀不误砍柴工。而且svg的应用场景广泛,不止于D3,也方便自己理解其他库或者软件生成的svg图形文档。
SVG元素的基础写法:
D3根据数据的内容操纵HTML文档对象,实现把数据变成可视图。要操纵文档对象,例如在<body>
里添加一个<svg>
、编辑<svg>
标签里的一个矩形,要完成这些首先需要能定位到我们需要操作的元素。再结合数据操作这些元素。
本篇具体展开D3用于选择及增删文档对象的方法以及数据绑定的方法。
对于一些大家期待的电影会想值得它什么时候预售,特别是某些热门的电影,若是不及时知道预售开始的消息很可能抢不到好位置的票。对于某部特别热门的电影,有童鞋在朋友圈说不怕期中,4月就怕抢不到某电影首映的票。虽然一些相关的公众号或者微博会在得到消息后及时更新,但是从技术的角度考虑,随着各种集成票务平台的发展,我们可以自己跑个程序监测某些电影是否开启了预售。
手机和数码相机拍的照片里除了我们能看到的RGB像元数据,还包含了拍摄时间、图像分辨率、感光值、GPS坐标等属性,记录在Exif(Exchangeable image file format)模块里。
随着手机像素越来越高,用手机记录身边的事(和自拍)已经变成很自然的动作,在一年里我们的手机肯定存了很多照片,照片和Exif数据块中的位置可以做哪些有趣的事情?一张图片和对应的拍摄位置如果没那么多可能性,那一系列照片和位置呢?
在编写和调试程序时,一般我们会在集成编辑环境里写代码和运行,但如果程序比较完善需要快速运行,或者让同事在其他电脑上快速运行时,再打开IDE(Integrated Development Environment ,集成开发环境)运行就有些麻烦了,对方也不一定很熟练使用命令行进行运行,因此在Windows下要解决这个问题一般有两种思路:
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的子集。
例如下面就是一个点数据: