vis.js is a dynamic, browser-based visualization library
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

429 lines
24 KiB

10 years ago
10 years ago
10 years ago
  1. <!DOCTYPE html>
  2. <html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  3. <meta charset="utf-8">
  4. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <meta name="description" content="">
  7. <meta name="author" content="">
  8. <link rel="icon" HREF="favicon.ico">
  9. <title>vis.js - A dynamic, browser based visualization library.</title>
  10. <!-- Bootstrap core CSS -->
  11. <link href="./css/bootstrap.css" rel="stylesheet">
  12. <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
  13. <!--[if lt IE 9]>
  14. <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  15. <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  16. <![endif]-->
  17. <script src="./js/smooth-scroll.min.js"></script>
  18. <script language="JavaScript">
  19. smoothScroll.init();
  20. </script>
  21. <style>
  22. html {
  23. height:100%;
  24. }
  25. body {
  26. font-family: Lustria, Georgia, Times, "Times New Roman", serif !important;
  27. height:100%;
  28. background: url('./images/crosswordStrong.png') /* Background pattern from subtlepatterns.com */
  29. }
  30. img.icon {
  31. position:relative;
  32. top:-2px;
  33. }
  34. div.navbar-wrapper {
  35. background-color:#07508E;
  36. border-bottom: 3px solid #ffffff;
  37. font-size:16px;
  38. }
  39. div.center {
  40. width:970px;
  41. margin-left:auto;
  42. margin-right:auto;
  43. }
  44. div.container.small{
  45. max-width:970px;
  46. }
  47. div.blogHeader {
  48. margin-left:auto;
  49. margin-right:auto;
  50. text-align:center;
  51. width:910px;
  52. padding: 0px 30px 0px 30px;
  53. margin-top:-150px;
  54. color:#ffffff;
  55. text-shadow: 1px 1px 3px rgba(0, 0, 0, 1);
  56. margin-bottom:60px;
  57. }
  58. div.post {
  59. margin:40px 80px 0px 190px;
  60. padding:10px 10px 10px 20px;;
  61. border: 1px solid #eeeeee;
  62. border-radius:3px;
  63. }
  64. div.postHeader {
  65. float:left;
  66. font-size:30px;
  67. }
  68. div.postDate {
  69. margin-top:19px;
  70. float:right;
  71. font-size:12px;
  72. }
  73. div.postAuthor {
  74. padding-left:5px;
  75. margin-top:19px;
  76. margin-right:20px;
  77. float:right;
  78. font-size:12px;
  79. }
  80. div.postContent {
  81. font-size: 16px;
  82. margin-top:50px;
  83. padding:10px 20px 0px 20px;
  84. text-align:justify;
  85. }
  86. div.full {
  87. min-height:100%;
  88. box-shadow:0px 2px 10px rgba(0,0,0,0.4);
  89. padding:0px;
  90. background-color:#ffffff;
  91. }
  92. div.postsMenu {
  93. position:relative;
  94. left:-15px;
  95. top:-50px;
  96. width:0px;
  97. height:0px;
  98. }
  99. div.postsMenuContent {
  100. padding:10px;
  101. background-color:#6787a6;
  102. width:180px;
  103. height:500px;
  104. border-radius:5px;
  105. box-shadow:0px 2px 10px rgba(0,0,0,0.4);
  106. color:#ffffff;
  107. font-size:16px;
  108. }
  109. a.post {
  110. font-size:12px;
  111. text-decoration:none;
  112. color:#ffffff;
  113. display:block;
  114. margin: 10px 0px 0px 0px;
  115. }
  116. </style>
  117. </head>
  118. <!-- NAVBAR
  119. ================================================== -->
  120. <body>
  121. <div class="navbar-wrapper">
  122. <div class="container">
  123. <nav class="navbar navbar-inverse navbar-static-top" role="navigation">
  124. <div class="container">
  125. <div class="navbar-header">
  126. <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
  127. <span class="sr-only">Toggle navigation</span>
  128. <span class="icon-bar"></span>
  129. <span class="icon-bar"></span>
  130. <span class="icon-bar"></span>
  131. </button>
  132. <a class="navbar-brand hidden-sm" href="./index.html">vis.js</a>
  133. </div>
  134. <div id="navbar" class="navbar-collapse collapse">
  135. <ul class="nav navbar-nav">
  136. <li><a href="./index.html#modules">Modules</a></li>
  137. <li><a href="./docs/index.html" target="_blank">Documentation <img class="icon" src="./images/external-link-icons/external-link-icon-white.png"></a></li>
  138. <li class="active"><a href="#">Blog</a></li>
  139. <li><a href="./index.html#download_install">Download</a></li>
  140. <li><a href="./showcase/index.html">Showcase</a></li>
  141. <li><a href="./index.html#contribute">Contribute</a></li>
  142. <li><a href="./featureRequests.html">Feature requests</a></li>
  143. <li><a href="./index.html#licenses">License</a></li>
  144. </ul>
  145. </div>
  146. </div>
  147. </nav>
  148. </div>
  149. </div>
  150. <a href="https://github.com/almende/vis" class="hidden-xs hidden-sm hidden-md"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"></a>
  151. <div class="container full small">
  152. <div class="center">
  153. <img src="./images/wallHeader.png">
  154. </div>
  155. <div class="blogHeader">
  156. <h1>vis.js</h1>
  157. <p>A dynamic, browser based visualization library.
  158. The library consists of the components DataSet, Timeline, Network, Graph2d and Graph3d. This blog is about the latest developments, roadmap and releases.
  159. </p>
  160. </div>
  161. <div class="postsMenu">
  162. <div class="postsMenuContent">
  163. Posts:
  164. <a data-scroll class="post" href="#Released version 3.9.0">- Released version 3.9.0</a>
  165. <a data-scroll class="post" href="#The 2015 roadmap for vis.js">- The 2015 roadmap for vis.js</a>
  166. <a data-scroll class="post" href="#A look back on vis.js">- A look back on vis.js</a>
  167. <a data-scroll class="post" href="#New website for vis.js!">- New website for vis.js!</a>
  168. <a data-scroll class="post" href="#Released version 3.8.0">- Released version 3.8.0</a>
  169. </div>
  170. </div>
  171. <div class="post">
  172. <div class="postHeader" id="Released version 3.9.0">Released version 3.9.0</div>
  173. <div class="postAuthor">by <a href="https://github.com/AlexDM0">Alex</a></div>
  174. <div class="postDate">16th of January 2015</div>
  175. <div class="postContent">
  176. <p>
  177. We have been very busy fixing a lot of the open Github issues over the last week. We have also received multiple pull requests that could be added quickly! Special thanks to
  178. our community members contributing this release: @klmdb, @pavlos256, @T-rav, @brendon1982.
  179. Since this is a release with new features, we push the version number up to 3.9.0. Next up: big refactoring and version 4.0.0!
  180. </p>
  181. <p>Changelog:</p>
  182. <h3>
  183. <a class="anchor" href="#network" aria-hidden="true"><span class="octicon octicon-link"></span></a>Network</h3>
  184. <ul class="task-list">
  185. <li>Reverted change in image class, fixed bug #552</li>
  186. <li>Improved the fontFill offset between different browsers. #365</li>
  187. <li>Fixed dashed lines on firefox on Unix systems</li>
  188. <li>Altered the Manipulation Mixin to be succesfully destroyed from memory when calling destroy();</li>
  189. <li>Improved drawing of arrowheads on smooth curves. #349</li>
  190. <li>Caught case where click originated on external DOM element and drag progressed to vis.</li>
  191. <li>Added label stroke support to Nodes, Edges &amp; Groups as per-object or global settings. Thank you @klmdb!</li>
  192. <li>Reverted patch that made nodes return to 'default' setting if no group was assigned to fix issue #561.
  193. The correct way to 'remove' a group from a node is to assign it a different one.</li>
  194. <li>Made the node/edge selected by the popup system the same as selected by the click-to-select system. Thank you @pavlos256!</li>
  195. <li>Improved edit edge control nodes positions, altered style a little.</li>
  196. <li>Fixed issue #564 by resetting state to initial when no callback is performed in the return function.</li>
  197. <li>Added condition to Repulsion similar to BarnesHut to ensure nodes do not overlap.</li>
  198. <li>Added labelAlignment option to edges. Thanks @T-rav!</li>
  199. <li>Close active sessions in dataManipulation when calling setData().</li>
  200. </ul>
  201. <h3>
  202. <a class="anchor" href="#timeline" aria-hidden="true"><span class="octicon octicon-link"></span></a>Timeline</h3>
  203. <ul class="task-list">
  204. <li>Added byUser flag to options of the rangechange and rangechanged event.</li>
  205. </ul>
  206. </div>
  207. </div>
  208. <div class="post">
  209. <div class="postHeader" id="The 2015 roadmap for vis.js">The 2015 roadmap for vis.js</div>
  210. <div class="postAuthor">by <a href="https://github.com/AlexDM0">Alex</a></div>
  211. <div class="postDate">9th of January 2015</div>
  212. <div class="postContent">
  213. <p>
  214. I initially wanted to do a small recap of vis.js so far but it became larger (and more off topic) than I expected. To understand some of the motivations for our roadmap, <a href="#A look back on vis.js">take a look at the post below this one first</a>.
  215. </p><p>
  216. So now for our plans for 2015! We have added a lot of features over the last year, and we have to be careful that vis does not die of option-obesity. To mediate this we thought of a few solutions.
  217. Firstly, we will make the docs collapsible using a similar system to <a href="https://www.jsoneditoronline.org/" target="_blank">Jos&prime;s great online JSON editor</a>. This is naturally a temporary fix but
  218. the docs are one of the most important ways to get information. We think we ourselves may be the most frequent visitor of those pages so it's a good start!
  219. </p><p>
  220. Secondly, the actual changes, we plan to reorganize some of the option structure. This will unfortunately (but by definition) be a breaking change from our old versions. The new structure will be clearer and more intuitive. The work our current
  221. users will have to do to update will be minimal. If you're using the options we reorganize, you'll have to update your options. Breaking releases are always a shame, but we feel it is necessary.
  222. </p><p>
  223. The third step we want to take is to go over the code of each module and modularize everything much more. This will make the code easier to maintain as we move away from very large .js files, as well as make it easier to expand on.
  224. </p><p>
  225. Once everything is modularized, we want to change the API to allow users to plug their own parts of vis together. As an example: You start a network module, plug in the type of node module, edge module, physics module and optionally navigation module (etc.) and you're good to go!
  226. All of these modules will be individually configured. This means the huge list of options will be segmented into smaller, more manageable parts. Additionally, the docs will become smaller and clearer.
  227. </p><p>
  228. Of course, we do not want to abandon all our plug-and-play functionality! We will also start to supply more preconfigured constructors (i.e. a vis.BarChart that will give you a preconfigured graph2d module). Apart from these constructors
  229. we will continue to publish examples which will include code snippets that you can use in your own project.
  230. </p><p>
  231. Once this has been completed, we expect there will be more options that accept functions as arguments which gives you more control over vis. Finally, because everything (well, more than now) would be split up into
  232. modules, it becomes easier for the community to create additional modules, further improving vis!
  233. </p><p>
  234. The things I have listed here are the ideas that we have now. This is subject to change. We also cannot provide a timeline for this because we work on vis whenever we have time. No deadlines, no constrains, just when we have time.
  235. </p><p>
  236. To wrap up, there are a few things I did not mention here but I'd like to add to the post anyway.
  237. <ul>
  238. <li>We want to improve the fusion of graph2d and the timeline, with the ideal that a graph2d can be used like a group in timeline now.</li>
  239. <li>Examples will be split in simple option/configuration examples and larger, feature demonstration/exploration examples.</li>
  240. <li>Graph2d will be expanded.</li>
  241. <li>We will move to hammer.js 2.0.</li>
  242. <li>We will add features <a href="./featureRequests.html" target="_blank">from the list</a> when we can</li>
  243. <li>We hope to keep up the <communi></communi>cation with our community!</li>
  244. </ul>
  245. Let's make 2015 as good as last year!
  246. </p>
  247. </div>
  248. </div>
  249. <div class="post">
  250. <div class="postHeader" id="A look back on vis.js">A look back on vis.js</div>
  251. <div class="postAuthor">by <a href="https://github.com/AlexDM0">Alex</a></div>
  252. <div class="postDate">9th of January 2015</div>
  253. <div class="postContent">
  254. <p>
  255. In April 2013, the initial commit was made for vis.js by <a href="https://github.com/josdejong">Jos</a> because the old CHAP LINKS library was becoming too large to expand and maintain.
  256. Vis.js was a clean, new start using all the knowledge gathered from the CHAP library with the ideal that the new infrastructure would be more stable, faster and easier to maintain.
  257. </p><p>
  258. In January 2014, I joined the project and started to expand the Network module, which was called Graph back then. I have been working alongside Jos since then we have poured a lot of hours into vis.
  259. </p><p>
  260. On the 16th of April 2014, exactly a year after the initial commit, <a href="https://twitter.com/hackernewsbot/status/456231005678874624" target="_blank">a twitterbot with a lot of followers</a> notified
  261. the world that we were featured on hackernews! This was the boost we needed to really reach a large community. We saw the amount of visitors and Github stars increase greatly over the months that followed.
  262. </p><p>
  263. The 14th of October, we have altered the license of vis.js to MIT or APACHE 2.0. This allowed <a href="http://tiddlywiki.com/" target="_blank">Tiddlywiki</a> to add vis.js to their keychain. From what we hear,
  264. their developers really enjoy working with vis and we look forward to hearing how their community uses our software!
  265. </p><p>
  266. Now, we have a great community that helps out in issues, fixes our typos in the docs, notifies us of bugs and sometimes fixes them for us. We have received pull requests with new features and improvements and
  267. it has been fantastic!
  268. </p><p>
  269. This post started out as the roadmap for vis in 2015, but the review was longer than I initially expected thereby deserving its own post.
  270. </p><p>
  271. Have fun using vis!
  272. </p>
  273. </div>
  274. </div>
  275. <div class="post">
  276. <div class="postHeader" id="New website for vis.js!">New website for vis.js!</div>
  277. <div class="postAuthor">by <a href="https://github.com/AlexDM0">Alex</a></div>
  278. <div class="postDate">9th of January 2015</div>
  279. <div class="postContent">
  280. <p>
  281. The old website served us well, but now that we arrived in 2015... it is really time for an upgrade! We hope the new website is more informative, modern and a good promotion for vis.js!
  282. It also allows us to keep the community updated through this blog and to <a href="./showcase/index.html" target="_blank">show off great projects that make use of vis.js in our showcase</a>.
  283. </p><p>If you have made something and would like it featured,
  284. please make an <a href="https://github.com/almende/vis/issues" target="_blank">issue on Github</a> with your project and how you'd like to be credited.</p>
  285. </p><p>
  286. The new website is in beta so if anyone spots a typo or other mistake, please let us know on our <a href="https://www.github.com/almende/vis" target="_blank">Github</a> page.
  287. </p><p>
  288. There is no forum on this website. We prefer to keep all the communication with the community through Github. We believe this is the best solution so everyone only has to check the Github issues
  289. when there is a problem or suggestion.
  290. </p><p>
  291. A big change introduced with our new website, is the <a href="./featureRequests.html" target="_blank">feature request page</a>. There are a lot of issues on Github that suggest features but we do not
  292. always have time to implement these ourselves. On the other hand, there have been issues where people tell us they want to contribute but are now sure where to start. To mediate this (and to make a clear overview
  293. for ourselves) we listed everything <a href="./featureRequests.html" target="_blank">here</a>.
  294. </p><p>Once a feature is added to <a href="./featureRequests.html" target="_blank">the list</a>, it is not the end of the line. At each new release, we'll look at the list and see which features we may want to pick up for the next one. Discussions on these features
  295. can still continue on the referenced Github issues. When we have added a feature to this list, we will close the Github issue that requested it to keep our open issues more of a bug-todo list. The main motivation for this
  296. is because we have noticed that old bugs (on pages after 2) would be overlooked from time to time.
  297. </p><p>
  298. This feature page is an experiment. If it turns out that the community does not like us closing issues with open feature requests or if it does not have the impact we'd like it to have, we'll revert back to the old model.
  299. </p><p>
  300. We thank you all for using vis! Last year has seen a great increase in our user base and it is a great motivating factor knowing that our work is used by others!
  301. </p><p>
  302. Here's to a great 2015!
  303. </p>
  304. </div>
  305. </div>
  306. <div class="post">
  307. <div class="postHeader" id="Released version 3.8.0">Released version 3.8.0</div>
  308. <div class="postAuthor">by <a href="https://github.com/AlexDM0">Alex</a></div>
  309. <div class="postDate">9th of January 2015</div>
  310. <div class="postContent">
  311. <p>
  312. We're proud to present a new version of the vis.js library: 3.8.0! This release has a lot of new features and bugfixes, nearly all of which were suggested and/or discovered
  313. by our community on <a href="https://www.github.com/almende/vis" target="_blank">Github</a>. A lot of the issues on Github have been handled in this release and it is likely to be the
  314. last release before 4.0.0. The 4.0.0 release will break compatibility with old code (only options will be revisited on the API side) but more on that in <a href="#The 2015 roadmap for vis.js">the roadmap post</a>.
  315. </p>
  316. <p>Changelog:</p>
  317. <h3>
  318. <a class="anchor" href="#network" aria-hidden="true"><span class="octicon octicon-link"></span></a>Network</h3>
  319. <ul class="task-list">
  320. <li>Fixed flipping of hierarchical network on update when using RL and DU.</li>
  321. <li>Added zoomExtentOnStabilize option to network.</li>
  322. <li>Improved destroy function, added them to the examples.</li>
  323. <li>Nodes now have bounding boxes that are used for zoomExtent.</li>
  324. <li>Made physics more stable (albeit a little slower).</li>
  325. <li>Added a check so only one 'activator' overlay is created on clickToUse.</li>
  326. <li>Made global color options for edges overrule the inheritColors.</li>
  327. <li>Improved cleaning up of the physics configuration on destroy and in options.</li>
  328. <li>Made nodes who lost their group revert back to default color.</li>
  329. <li>Changed group behaviour, groups now extend the options, not replace. This allows partial defines of color.</li>
  330. <li>Fixed bug where box shaped nodes did not use hover color.</li>
  331. <li>Fixed Locales docs.</li>
  332. <li>When hovering over a node that does not have a title, the title of one of the connected edges that HAS a title is no longer shown.</li>
  333. <li>Fixed error in repulsion physics model.</li>
  334. <li>Improved physics handling for smoother network simulation.</li>
  335. <li>Fixed infinite loop when an image can not be found and no brokenImage is provided.</li>
  336. <li>Added getBoundingBox method.</li>
  337. <li>Community fix for SVG images in IE11, thanks @dponch!</li>
  338. <li>Fixed repeating stabilized event when the network is already stabilized.</li>
  339. <li>Added circularImages, thanks for the contribution @brendon1982!</li>
  340. </ul>
  341. <h3>
  342. <a class="anchor" href="#graph2d" aria-hidden="true"><span class="octicon octicon-link"></span></a>Graph2d</h3>
  343. <ul class="task-list">
  344. <li>Fixed round-off errors of zero on the y-axis.</li>
  345. <li>added show major/minor lines options to dataAxis.</li>
  346. <li>Fixed adapting to width and height changes.</li>
  347. <li>Added a check so only one 'activator' overlay is created on clickToUse.</li>
  348. <li>DataAxis width option now draws correctly.</li>
  349. </ul>
  350. <h3>
  351. <a class="anchor" href="#timeline" aria-hidden="true"><span class="octicon octicon-link"></span></a>Timeline</h3>
  352. <ul class="task-list">
  353. <li>Implemented support for styling of the vertical grid.</li>
  354. <li>Support for custom date formatting of the labels on the time axis.</li>
  355. <li>added show major/minor lines options to timeline.</li>
  356. <li>Added a check so only one 'activator' overlay is created on clickToUse.</li>
  357. </ul>
  358. <h3>
  359. <a class="anchor" href="#graph3d" aria-hidden="true"><span class="octicon octicon-link"></span></a>Graph3d</h3>
  360. <ul class="task-list">
  361. <li>Fixed mouse coordinates for tooltips.</li>
  362. </ul>
  363. </div>
  364. </div>
  365. <br />
  366. <br />
  367. <br />
  368. <br />
  369. <br />
  370. </div>
  371. <!-- Bootstrap core JavaScript
  372. ================================================== -->
  373. <!-- Placed at the end of the document so the pages load faster -->
  374. <script src="./js/jquery.min.js"></script>
  375. <script src="./js/bootstrap.min.js"></script>
  376. <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
  377. <script src="./js/ie10-viewport-bug-workaround.js"></script>