`
yiminghe
  • 浏览: 1452784 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

simile timeline 介绍与使用

阅读更多

timeline 组件可以很形象的将发生的事件排列在一起,便于比较,中文例子较少,本文举例说明一下 timeline 的使用以及定制:


演示@google code


1.band 的概念


每个band表示对时间的一种粒度描述,可以设置以一天,一月,一年的粒度来展现这一时间段内的事件:

 

 

band 可以指定其占整体组件的高度百分比,时间单位之间的像素值等。


注意点在于 band 间的同步需要手动指定,当以天为单位进行浏览时,其他的月和年即使变化缓慢也要随之变化。



2.event 与 eventSource 的概念


event 根据官方文档分为 2 大类:

1.即时事件,duration 配置为 false,表示为突发事件,该事件并没有占据时间区间,例如人物的出生死亡日期,等,该事件使用原点描述。


2.延续事件,事件具有一定的起始日期,而对于开始和结束日期又考虑是否是确定时间而加入了latestStart 与  earliestEnd的配置,用来表示不精确的开始与结束时间。

 

 

eventSource 就是对事件集合的包装,提供了通过静态数据或ajax获取事件信息。


3.bubble 的概念


当点击事件名时,会弹出气泡显示该事件的详细介绍,该内容从事件的description 配置中读取显示。

 

 

4. 过滤与高亮


可在每个band中设置过滤与高亮函数,根据传入特定事件作为参数调用得到返回值来确定该事件是否通过筛选,高亮。

 

timeline.getBand(0).getEventPainter().setFilterMatcher(filterMatcherFn);
timeline.getBand(0).getEventPainter().setHighlightMatcher(highlightMatcherFn);
 


5.标准使用流程


创建eventsource -> 创建 band info - > 创建 timeline 组件 -> eventSource 载入事件 -> timeline 刷新 UI


6.定制


 4.1 event 条的颜色设置

在 event 信息中有 classname 配置项,当设置的话会再 event 条上设置 class :tape-classname,.small-classname ,可在css中指定对应类的背景色,即可实现event的不同颜色显示。




 4.2 bubble 的宽度设置

bubble宽度可通过设置主题theme的方式解决,新增一个主题,对这个主题设置气泡的宽度,并将这个主题应用到band即可:

 

theme = Timeline.ClassicTheme.create();
    theme.event.bubble.width = 450;
    var base=new Date(2010,1,1);
    var bandInfos = [
    Timeline.createBandInfo({
        eventSource: eventSource,
        date:base,
        width: "70%",
        theme: theme,
        intervalUnit: Timeline.DateTime.DAY,
        intervalPixels: 100
    })
 

  4.3   bubble 时间尾注去除

 

 

bubble末尾的时间尾注没有作用可通过对css类 timeline-event-bubble-time 进行隐藏操作而去除。



PS: 定制 css 的引入方法


为了便于使用,可将css定义同js写在一起,在页面载入时动态生成内联css加入页面

 

if (!document.getElementById("timeline_style")) {
        //跨浏览器动态添加css    		
        var node = document.createElement("style");
        node.type = 'text/css';
        node.setAttribute("id", "timeline_style");
        var styleStr = ".tape-alarm-task,.small-alarm-task {" +
 "background:red;" + "	}\n" + 
".tape-plan-task,.small-plan-task {" + 
"background:green;" + "	}\n" + 
".timeline-event-bubble-time {" + "	display:none;" + "}\n";
        var head = document.getElementsByTagName("head")[0];
        if (node.styleSheet) {
            node.styleSheet.cssText = styleStr;
        } else {
            node.appendChild(document.createTextNode(styleStr));
        }
        head.appendChild(node);
    }
 

 

 

 

 

 

 

 

  • 大小: 28.1 KB
  • 大小: 21.1 KB
  • 大小: 5.2 KB
分享到:
评论

相关推荐

    gwtsimiletimeline:GWT API 库支持 GWT 框架内的 SIMILE Timeline

    gwtsimiletimeline GWT API 库支持 GWT 框架内的 SIMILE Timeline。 这是作为网站一部分开发的。 gTraffic 站点在 Google 地图上显示英国交通信息。 SIMILE Timeline 是一个基于 DHTML 的小部件,用于可视化基于时间...

    时间轴前端渲染工具Links-Timeline.zip

    其与SIMILE-Timeline(2009年已停止开发)功能类似,但使用上更为简洁,也更符合现在的使用习惯。比Chronoline具有更好的显示。 和Timeglider以及TimelineJS不同,该软件并非致力于多媒体展示。 标签:...

    timeline源码

    Timeline是一款由Simile Widgets组织开发的JavaScript库,它提供了一个强大的、可自定义的时间轴视图,用于展示和交互式探索时间序列数据。这款工具以其直观的用户界面和高效的DHTML及AJAX技术赢得了广泛的赞誉。...

    JSF Component for SIMILE Timeline-开源

    - `jsf-timeline.jar`:这应该是JSF组件的主要实现,包含了SIMILE时间线的JSF封装和可能的额外功能。 - `weblets-impl-0.4.jar`和`weblets-api-0.4.jar`:Weblets可能是一个用于构建Web应用的框架或者扩展,这些库...

    SimileTimelineEPrints:用于EPrints JSON数据的Simile时间轴

    SimileTimelineEPrints 用于EPrints / e-artexte JSON数据的类似时间表 基于开源 电子文本可视化集成,作者:Tomasz Neugebauer 数据来源: ://e-artexte.ca的摄影展目录元数据 现场演示: : ...

    timeline:使用d3创建时间表

    d3的时间表 ...戴维·弗朗索瓦·休恩(DavidFrançoisHuynh)的“ Simile时间线”( )和比尔·邦克(Bill Bunkat)的“使用d3.js的游泳图( )。 文件结构 具有以下行结构的任何csv数据文件都可以: 开

    SIMILE_documentation

    在“SIMILE_documentation-main”这个文件中,用户可以期待找到关于如何使用这些工具的详细指南、示例代码、最佳实践以及常见问题解答等内容。这些文档将帮助开发者和数据管理员更好地集成SIMILE到他们的项目中,...

    release-timeline:HTML5 时间轴工具

    该项目允许您动态管理时间线内容(保存在 SQLite 数据库中),而 SIMILE 时间线小部件本身只能用于反映静态内容(XML 文档)。 (请参阅页面底部的图片以获取想法) 特征 事件或阶段添加到工作流程 创建新工作流程...

    lucence case study

    - 与 Simile Timeline/Exhibit 的集成。 Flare 作为 Blacklight 的一部分被分离出来,作为一个独立的 Rails 插件,它提供了多种高级特性,如搜索建议、保存搜索等,大大增强了用户界面的友好性和可用性。 #### ...

    SobekCM-plugin-resultsViewer-SimileTimeline:基于Simile Widgets时间线库的SobekCM时间线结果查看器

    已经对timeline_source_v2.3.0的一些文件进行了一些自定义。 该项目最初由SOAS Digital Collection-伦敦大学( )资助,该项目完成原始项目后慷慨地支持开源发行。 截至2017年5月27日,已针对最新版本的SobekCM...

Global site tag (gtag.js) - Google Analytics