vuejs plus d3】的更多相关文章

vuejs 是一个数据驱动视图的前端框架,一切皆可以作为可重用的组件加以使用. d3则是数据可视化javascript库,如何将二者的长处相结合是一个挑战. https://tyronetudehope.com/2016/12/13/composing-d3-visualizations-with-vuejs/ <script> import * as d3 from 'd3'; const data = [99, 71, 78, 25, 36, 92]; export default { n…
TODO:搭建Laravel VueJS SemanticUI Laravel是一套简洁.优雅的PHP开发框架(PHP Web Framework).可以让你从面条一样杂乱的代码中解脱出来:它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁.富于表达力. VueJS是一款渐进式JavaScript框架,有着易用,灵活,高效的有点.简单小巧的核心,渐进式技术栈,足以应付任何规模的应用. SematicUI 是完全语义化的前端界面开发框架,跟 Bootstrap 和 Foundation 比…
上一节中我们学会了如何旋转x轴标签以及自定义标签内容,在这一节中,我们将接触动画(transition) 首先,我们要在页面上添加一个按钮,当我们点击这个按钮时,调用我们的动画.所以,我们还需要在原来的基础上添加两个东西. 添加一个按钮 <div id="option"> <input name="updateButton" type="button" value="Update" onclick="…
上节我们学习了如何绘制多条曲线, 以及给不同的曲线指定不同的坐标系.在这节当中,我们会对坐标轴标签相关的处理进行学习.首先,我们来想一个问题, 如何我们的x轴上的各个标签的距离比较近,但是标签名又比较长怎么办? 像是下面这种情况该如何处理? 上图中x轴上的标签是不是都重叠在一起了?非常恶心对不对?所以,我们得想个办法在不改变ticks标签直接的距离的情况下,让他们达到很好的阅读效果. 让ticks标签旋转一定的角度 下面我们的目标就是实现这一种效果:为了达到这个目标我们首先得做一个准备工作: …
题外话 本篇分享不能帮助你入门vue,入门的文章也是无意义的,官方文档http://cn.vuejs.org/v2/guide/ 已经写的不能再清晰了.希望我们勇敢的主动地给自己创造实践的机会. 手里有一个功能还不是很多的PC端页面,考虑到下一个版本,要把IOS,安卓和公众号上拥有的功能也要添加到PC上,便在周三开始了解Vue,周末花了些时间,做了到vue的改版. 本篇简单记录下这次经历.Vue并不是MVVM的框架,而是MVVM中的VM-ViewModel.对接口数据的获取还是要依赖于ajax,…
爱编程爱分享,原创文章,转载请注明出处,谢谢!http://www.cnblogs.com/fozero/p/6170706.html 1.通过Script引入Vuejs框架 <script type="text/javascript" src="https://unpkg.com/vue@2.1.4/dist/vue.js"/> 2.实例化Vue并配置Vue选项 var vm = new Vue({ el: '#app', data: { shops:…
上一节我们已经学习了如何设置填充区域,其实理解了他的实现原理还是非常简单了.这一节中, 我们主要学习多条曲线的绘制,以及给不同的曲线指定不同的纵坐标. 新的数据 由于我们要画两条曲线,所以我们要在原来的基础上新增一组测试数据,现在我们的数据是这样的: date close open 1-May-12 58.13 3.41 30-Apr-12 53.98 4.55 27-Apr-12 67.00 6.78 26-Apr-12 89.70 7.85 25-Apr-12 99.00 8.92 24-A…
上一节我们已经学习了线条样式和格栅的绘制,在这一节中我们将要根据之前绘制的线条对图表进行填充,首先来看一下我们的目标吧 在这个图表中,我们对位于线条下面的空间进行了填充,那么,如何改做到呢? 设置填充样式 这里设置我们填充区域的样式,我们使用浅蓝色进行填充: .area{ fill: lightsteelblue; stroke-width: 0; } 定义填充区域 就像前面绘制线条之前一样,我们首先要对其进行定义 //定义填充区域 var area = d3.svg.area() .x(fun…
上一节中,我们已经画出了图表,并且给图表添加了坐标轴的标签和标题,在这一节中,我们将要学习几个绘制线条不同特性的几个函数,以及给图表添加格栅.ok,进入话题! 如何给线条设置绘制的样式? 这个其实非常简单,在我们之前定义的valueline基础上加一个.interpolate(“样式”)就行啦 //定义线条 var valueline = d3.svg.line() .interpolate("basis") .x(function(d){return x(d.date);}) .y(…
从今天开始我将和大家一起学习D3.js(Data-Driven Documents),由于国内关于D3的学习资料少之又少,所以我觉得很有必要把自己学习过程记录下来,供同学们参考,如果文章有有哪些表达有错误的还希望同学们帮我指出来.当然了, 可以的话我希望大家都可以去看看英文资料(文章后面将列英文资源),毕竟那才是原汁原味的D3. 好了, 废话到此,下面我们开始我们的学习之旅吧! 什么是D3.js? 一句话:D3.js是一个操纵数据的javascript库! 从一个简单的例子开始 学习一个新的东西…
为了实现元素的添加,删除,拖拽,左键点击,右键单击,悬浮等功能,使用了d3 + svg 的技术来实现界面. 最开始是采用canvas,但是由于功能原因放弃了该技术,可以看下 canvas简介 另附:canvas和svg区别 首先,下载d3.min.js和snap.svg-min.js 如果使用的是bower, 安装d3,bower --allow-root install -S d3 安装svg,bower --allow-root install -S snap.svg 然后页面再引入. 新建…
首次写vue可能会出现:[Vue warn]: Cannot find element: #app 这是因为你的js在html页面头部引入的原因,自定义js文件要最后引入,因为要先有元素id,vue才能获取相应的元素. 示例: 1.index.js var app = new Vue({ el : '#app', data: { message: 'Hello Vue.js!' }}) 2.index.html <html> <head> <title>Vuejs<…
1. 极为重要的reference: [1] How selections works. http://bost.ocks.org/mike/selection/ [2] Nested selections. http://bost.ocks.org/mike/nest/ 2. 相关概念笔记 (1)Selections are usually seen as arrays of DOM elements, but it is not very accurate. There are two ma…
关于transition的几个基本点: 1. transition()是针对与每个DOM element的,每个DOM element的transition并不会影响其他DOM element的transition操作: 2. 对于每一个DOM element的transition每次只能执行一个,如果在一个DOM element上添加了许多transition操作,只有最后一个会起作用,前面的都会被覆盖掉.但是例外是,当这些transition是chaining的形式连接的时候,这些trans…
这里转载一个非常经典的关于D3数据绑定的帖子,由D3作者自己写的,非常棒,以至于我忍不住全文copy到此. 原文地址 Thinking with Joins Say you’re making a basic scatterplot using D3, and you need to create some SVG circle elements to visualize your data. You may be surprised to discover that D3 has no pri…
几个非常有用的links: [1] three little circles. http://bost.ocks.org/mike/circles/ [2] How selection works. http://bost.ocks.org/mike/selection/ [3] Thinking with join. http://bost.ocks.org/mike/join/ 具体而言,data()是用来将DOM element与数据进行绑定起来,其第二个参数可以用来specify当前的每…
在官网中给出的代码[1]是有问题的,如下的代码并不能正常工作: // Update… var p = d3.select("body").selectAll("p") .data([4, 8, 15, 16, 23, 42]) .text(String); // Enter… p.enter().append("p") .text(String); // Exit… p.exit().remove(); 结合参考文献[2],正确的工作方式有两种:…
http://router.vuejs.org/zh-cn/essentials/nested-routes.html 使用嵌套路由开发,这里会出错主要把Vue.use(VueRouter);要进行引用 main.js import Vue from 'vue'; import VueRouter from 'vue-router'; Vue.use(VueRouter); import App from './App'; import goods from './components/good…
一.关于vuejs 这是一个MVVM的前端开发框架,model(数据).viewmode(通讯).view(视图),它吸取了reactjs和angularjs的长处,核心重点在于组件化的设计原则. 我们都知道一个普通常见的页面,他会由header,body,footer,组成,里面再细分还有nav,list,slidebar等等,组件化就是将这些会重复用到的代码封装起来,在一个页面中需要用到的时候进行引入. 二.搭建脚手架(初始化项目) 做一个项目开始将一些文件环境搭建好,这里vue提供了vue…
想要通过vuejs动态过滤(这里动态指得是过滤的条件是动态变化的), 一直没找到好办法, 最蠢的办法当然是两个两个数组,一个作为原始副本数组 一个作为视图数组,这样当过滤条件变化的时候 动态拷贝原始数组过滤后的结果 到视图数组,这样就能够使得vuejs感知 我们的视图数组变化,然后来更新视图 这种办法很蠢,而且拷贝很浪费时间,下面上代码 <html> <head> <script src="http://cdn.bootcss.com/vue/2.1.4/vue.j…
使用 vuejs 做了一个简单的功能页面,逻辑是,页面加载后获取当前的经纬度,然后通过 ajax 从后台拉取附近的小区列表.但是 bug 出现了,在显示小区列表之前,会闪现小区名对应的 vuejs 变量名. 案发现场的 HTML 代码 <ul v-for="item in items"> <li>{{ item.name }}</li> </ul> 页面加载时,会闪现 {{ item.name }} Google 了一下,发现 vuejs…
https://github.com/d3/d3/wiki/API--%E4%B8%AD%E6%96%87%E6%89%8B%E5%86%8C https://github.com/d3/d3/wiki/Gallery http://bl.ocks.org/mbostock/3883245 https://github.com/d3/d3/wiki…
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta h…
总结一段D3.js部署node环境的安装过程 准备阶段: 首先电脑上要安装node环境,这个阶段过滤掉,如果node环境都不会装,那就别玩基于node环境搞的其他东西了. 搭建环境: 我在自己的F:系统盘创建一个工程目录d3Node,然后创建一个package.json文件,里面配置如图: 其中:dependencies字段描述了你的工程所用到的库运行时的依赖,他们可以使你的工程在浏览器中正常运行.在d3中只有一个依赖,d3是D3在npm库中发布的名字,其中版本号3.x标明该工程可以兼容任意大于…
项目需要,在vuejs开发的web项目中与APP进行通信,实现原理和cordova一致.使用WebViewJavascriptBridge. 其实也是通过拦截url scheme,支持ios6往前的系统 iOS与H5交互的方案 纵观所有iOS与H5交互的方案,有以下几种: 第一种:有很多的app直接使用在webview的代理中通过拦截的方式与native进行交互,通常是通过拦截url scheme判断是否是我们需要拦截处理的url及其所对应的要处理的功能是什么.任意版本都支持. 第二种:iOS7…
刚学习vue,可能有使用不对的地方,希望没有对大家造成困扰! 使用vue-router,为了能够更好的管理.vue文件,需要用到子路由. 先看个错误的例子 routers.js '/company':{ //公司 name:'company', component: function (resolve) { require(['./views/company/index.vue'], resolve); }, subRoutes: { '/about':{ //关于 component: fun…
(八)传入的数据绑定 先创建一个对象(假如是obj),然后将他传入Vue实例中,作为data属性的值,那么 ①obj的值的变化,将影响Vue实例中的值的变化: ②相反一样: ③可以在Vue实例外面操纵obj,一样对Vue实例有影响: ④获取obj.a的值(假如他有这个属性),可以通过Vue实例(例如变量vm),vm.a这样的形式来获取(他们是等价的,也是绑定的): ⑤后续添加的数值是无效的 例如:   <div id=> {{a}} >+1</button> obj = {a…
比例尺 比例尺基本内容 比例尺是一组把输入域映射为输出范围的函数.任意数据集中的值不可能恰好与图表中的像素尺度一一对应.比例尺就是把这些数据值映射为可视化图形中使用的新值的便捷手段.D3的比例尺就是那些你定义的带有参数的函数.定义好之后,就可以调用这些比例尺函数,传入值,它们就能返回按比例生成的输出值. 比例尺的输入值域(input domain)指可能的输入值的范围. 比例尺的输出范围(output range)指输出值可能的范围,一般以用于显示的像素为 单位. 其实比例尺就是归一化的概念.…
d3.js入门 d3入门 D3是一个强大的数据可视化工具,它是基于Javascript库的,用于创建数据可视化图形.在生成可视化图形的过程中,需要以下几步: 把数据加载到浏览器的内存空间: 把数据绑定到文档中(这里的文档指的是html文档)的元素,根据需要创建新元素: 解析每个元素范围内的数据并为其设置相应的可视化属性,实现元素的变换(transforming); 响应用户输入实现元素状态的过渡(transitioning); SVG D3最适合用来生成和操作SVG(Scalable Vecto…
最近在做移动端的项目,最近webpack和vuejs很火,就想到了用vuejs webpack来构建我的项目 先了解了一些webpack的入门基础 http://webpack.github.io/docs/  webpack官方文档 https://zhuanlan.zhihu.com/p/20367175 webpack傻瓜式入门一 https://zhuanlan.zhihu.com/p/20397902  傻瓜式入门(二) 看完入门教程,懂得了webpack的一些基本配置和插件的使用.…