nvd3基于时间轴流程图
doc
http://nvd3-community.github.io/nvd3/examples/documentation.html
https://github.com/mbostock/d3/wiki
http://pkuwwt.gitcafe.io/d3-tutorial-cn/about.html
example
http://nvd3.org/livecode/index.html
unix timestamp不能格式化?
apparently, d3 uses 13 digits unix timestamp (including microseconds) and you have 10 digits unix timestamp. try doing this:
.tickFormat(function(d) { return d3.time.format('%x')(new Date(d*1000)) });
效果图

{% extends "base.html" %}
{% block title %}graph{% endblock %}
{% block head %}
{{ super() }}
<link rel="stylesheet" href="{{ url_for('static', filename='css/nv.d3.css') }}">
<script src="{{ url_for('static', filename='js/d3.min.js') }}"></script>
<script src="{{ url_for('static', filename='js/nv.d3.min.js') }}"></script>
{% endblock %}
{% block body %}
<div class="uk-grid" style="margin:10px;">
{% for service in services %}
<div class="uk-width-1-3">
<strong>{{ service }}</strong>
</div>
<div class="uk-width-2-3">
<ul class="uk-tab" data-uk-tab>
<li class="uk-active" id="{{ service }}-hour"><a href="#">Hour</a></li>
<li id="{{ service }}-day"><a href="#">Day</a></li>
<li id="{{ service }}-week"><a href="#">Week</a></li>
<li id="{{ service }}-month"><a href="#">Month</a></li>
<li id="{{ service }}-year"><a href="#">Year</a></li>
</ul>
<svg id="{{ service }}" style='height:250px'/>
</div>
{% endfor %}
</div>
<script type="text/javascript">
$(function() {
$("svg").each(function(idx, data) {
var hostname = "{{ hostname }}";
var service = $(this).attr('id');
draw_graph(hostname, service, '-1h', '%H:%M');
});
$("li[id$=hour]").bind("click", function(){
var hostname = "{{ hostname }}";
var service = $(this).attr('id').split('-')[0];
draw_graph(hostname, service, '-1h', '%H:%M');
});
$("li[id$=day]").bind("click", function(){
var hostname = "{{ hostname }}";
var service = $(this).attr('id').split('-')[0];
draw_graph(hostname, service, '-1d', '%H:%M');
});
$("li[id$=week]").bind("click", function(){
var hostname = "{{ hostname }}";
var service = $(this).attr('id').split('-')[0];
draw_graph(hostname, service, '-1w', '%b %d');
});
$("li[id$=month]").bind("click", function(){
var hostname = "{{ hostname }}";
var service = $(this).attr('id').split('-')[0];
draw_graph(hostname, service, '-1m', '%b %d');
});
$("li[id$=year]").bind("click", function(){
var hostname = "{{ hostname }}";
var service = $(this).attr('id').split('-')[0];
draw_graph(hostname, service, '-1y', '%b %d');
});
function draw_graph(hostname, service, period, xformat) {
$.ajax({
type: 'GET',
url: "{{ url_for('api.rrd') }}",
data: { 'hostname': hostname, 'service': service, 'period': period },
dataType: 'json',
success: function(data){
nv.addGraph(function() {
var chart = nv.models.lineChart()
.useInteractiveGuideline(true)
//.showLegend(false)
//.color(d3.scale.category20c().range())
;
/*chart.tooltip
.headerFormatter(function(d) { return d3.time.format('%x')(new Date(d)); })
.valueFormatter(function(d){ return d3.round(d, 3); })
;*/
chart.xAxis
//.axisLabel('Date')
.ticks(8)
.tickFormat(function(d) { return d3.time.format(xformat)(new Date(d)); })
.showMaxMin(false)
.rotateLabels(-30)
;
chart.yAxis
//.axisLabel('Traffic')
.tickFormat(d3.format('.4s'))
//.tickFormat(function(d) { return d3.round(d, 3); })
.showMaxMin(false)
;
chart.xScale(d3.time.scale())
;
chart.yScale(d3.scale.linear())
;
d3.select('#'+service)
.datum(data)
.transition()
.duration(0)
.call(chart)
;
nv.utils.windowResize(function() { d3.select('#chart svg').call(chart) })
;
return chart;
});
},
});
};
})
</script>
{% endblock %}
nvd3基于时间轴流程图的更多相关文章
- 基于jQuery发展历程时间轴特效代码
分享一款基于jQuery发展历程时间轴特效代码,带左右箭头,数字时间轴选项卡切换特效下载.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div id="time ...
- 基于jquery带时间轴的图片轮播切换代码
基于jquery图片标题随小圆点放大切换.这是是一款带时间轴的图片轮播切换代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div id="decoroll2 ...
- 基于jQuery的美食时间轴焦点图插件
这是一款非常炫酷的jQuery焦点图插件,这款jQuery焦点图的特点是有一个时间轴,点击切换按钮时,时间轴会逐渐移动,时间轴上的图片也会逐渐切换.另外,在图片上方也可以放置自定义样式的文字. 在线预 ...
- 基于jQuery的时间轴鼠标悬停动画插件
之前为大家分享了很多jquery插件,这次我们要来分享一款不太常见的jQuery插件,它是一个时间轴,时间轴上的每一个点在鼠标滑过时都可以显示该点的描述信息,并且鼠标滑过时都可以产生一定的动画特效,比 ...
- 纯手工打造漂亮的垂直时间轴,使用最简单的HTML+CSS+JQUERY完成100个版本更新记录的华丽转身!
前言 FineUI控件库发展至今已经有 5 个年头,目前论坛注册的QQ会员 5000 多人,捐赠用户 500 多人(捐赠用户转化率达到10%以上,在国内开源领域相信这是一个梦幻数字!也足以证明Fine ...
- jQuery时间轴插件:jQuery Timelinr
前言 这是一款可用于展示历史和计划的时间轴插件,尤其比较适合一些网站展示发展历程.大事件等场景.该插件基于jQuery,可以滑动切换.水平和垂直滚动.支持键盘方向键.经过扩展后可以支持鼠标滚轮事件. ...
- CSS3实现时间轴效果
原文:CSS3实现时间轴效果 最近打开电脑就能看到极客学院什么新用户vip免费一个月,就进去看看咯,这里就不说它的课程怎么滴了,里面实战路径图页面看到了这个效果: 有点像时间轴的赶脚,而且每一块鼠标悬 ...
- [置顶] 纯手工打造漂亮的垂直时间轴,使用最简单的HTML+CSS+JQUERY完成100个版本更新记录的华丽转身!
前言 FineUI控件库发展至今已经有 5 个年头,目前论坛注册的QQ会员 5000 多人,捐赠用户 500 多人(捐赠用户转化率达到10%以上,在国内开源领域相信这是一个梦幻数字!也足以证明Fine ...
- 看看我做的一款 时间轴 插件 timegliderJs
TimegliderJs 是一款基于jQuery的时间轴插件.完成后效果. 介绍 Timeglider JS是一个由javascript支持缩放,数据驱动的时间轴组件.非常适合显示项目历史,项目计划及 ...
随机推荐
- vue项目中打包编译后,CSS样式【-webkit-box-orient: vertical】打包后丢失问题
最近在做vue项目的时候页面处理多行文本样式时用到了-webkit-box-orient: vertical这个属性,本地跑项目没问题,但是打包放到服务器后发现这个属性丢失了.如下图: 后来在网上查了 ...
- maven profile启动项目
- C#空接合操作符——??
操作符: ?? 用法:C = A ?? B; 解释:if(A != null){ C=A;} else{C=B} 类似三元运算符 :? 例子: Int32? num1=null; Int32? ...
- P3225 [HNOI2012]矿场搭建
传送门 对于一个点双联通分量,如果它连接了两个或更多割点 那么不论哪个点GG都有至少一条路通到其他的点双联通分量,所以我们不用考虑 如果它只连接一个割点,如果这个割点GG,那整个块也一起GG,所以要再 ...
- Java的观察者
class Teacher extends Observable { public void startLesson() { System.out.println(String.format(&quo ...
- Ansible故障
常见问题一: [root@m01 ~]# ansible -k 172.16.1.51 -m ping SSH password: [WARNING]: No hosts matched, noth ...
- Asp.net获取系统信息
[DllImport("kernel32")] public static extern void GlobalMemoryStatus(ref MEMORY_INF ...
- equals和== 区别
转载:https://zhidao.baidu.com/question/61622858.html ==是一个比较运算符,基本数据类型比较的是值,引用数据类型比较的是地址值. (比较地址值即是指是否 ...
- Problem08 输入数字求和
题目:求s=a+aa+aaa+aaaa+aa...a 的值,其中a 是一个数字.例如2+22+222+2222+22222(此时共有5 个数相加),几个数相加有键盘控制. 程序分析:关键是计算出每一项 ...
- Head First 设计模式笔记(模版方法模式)
1.定义: 在一个方法中定义一个算法骨架,而将一些步骤延迟到子类中.模版方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤. 2.类图: 3.说明: 模版方法可以理解为一个方法里面包 ...