使用joint.js 绘制图

试了几种在js画graph的库,还是joint.js合适一些,对于简单的图显示很适用。具体链接:

http://www.daviddurman.com/automatic-graph-layout-with-jointjs-and-dagre.html

demo:

1.script和css下载:

http://jointjs.com/download :

<link rel="stylesheet" href="joint.css" >
<script src="joint.js" ></script>
<script src="joint.layout.DirectedGraph.js"></script>

http://www.daviddurman.com/assets/autolayout.js:

<script src="autolayout.js" ></script>

2. 示例代码:

<link rel="stylesheet" href="joint.css" >

<script src="joint.js" ></script>
<script src="joint.layout.DirectedGraph.js"></script>
<script src="autolayout.js" ></script>

<textarea id="adjacency-list" rows=40 cols=100>{
  ‘a‘: [‘b‘],
  ‘a‘: [‘c‘],
  ‘b‘: [‘f‘],
  ‘c‘: [‘e‘, ‘d‘],
  ‘d‘: [],
  ‘e‘: [],
  ‘f‘: [‘g‘],
  ‘g‘: []
}</textarea>
<br>
<button id="btn-layout">Layout</button>

<div id="paper"></div>

<script>

// Main.
// -----

var graph = new joint.dia.Graph;

var paper = new joint.dia.Paper({

    el: $(‘#paper‘),
    width: 2000,
    height: 2000,
    gridSize: 1,
    model: graph
});

// Just give the viewport a little padding.
V(paper.viewport).translate(20, 20);

$(‘#btn-layout‘).on(‘click‘, layout);

function layout() {

    try {
        var adjacencyList = eval(‘adjacencyList = ‘ + $(‘#adjacency-list‘).val());
    } catch (e) { alert(e); }

    var cells = buildGraphFromAdjacencyList(adjacencyList);
    graph.resetCells(cells);
    joint.layout.DirectedGraph.layout(graph, { setLinkVertices: false });
}
layout();
</script>
时间: 2024-10-11 15:05:14

使用joint.js 绘制图的相关文章

js绘图库raphael实例

模拟微步 <!DOCTYPE html> <html> <head> <style type="text/css"> body { text-align: center; } #canvas { background-color: pink; margin: 0 auto; width: 80%; height: 100px; } </style> <script type="text/javascript&q

d3.js绘制饼状图

<!DOCTYPE html> <html class="um landscape min-width-240px min-width-320px min-width-480px min-width-768px min-width-1024px"> <head> <title></title> <meta charset="utf-8"> <meta name="viewport

python绘制图

如何用python绘制图表 摘要: 使用python绘制简单的图表,包括折线图.柱状图.条形图.饼图.散点图.气泡图.箱线图.直方图等. 前言 本文介绍如果使用python汇总常用的图表,与Excel的点选操作相比,用python绘制图表显得比较比较繁琐,尤其提现在对原始数据的处理上.但两者在绘制图表过程中的思路大致相同,Excel中能完成的工作python大多也能做到.为了能够更好使用python绘制图表,我们需要导入几个 Python 的基本软件包NumPy,Pandas,matplotli

CSS利用border绘制图性

绘制梯形 width:10px; border-top:10px solid red; border-right:10px solid transparent; border-left:10px solid transparent; border-bottom:10px solid transparent; 绘制三角形: width:0px; border-top:10px solid red; border-right:10px solid transparent; border-left:1

数据分析3 -绘制图

matplotlib plt.plot() # 绘图函数 plt.show() # 显示图像 1.plot函数:绘制折线图 线型linestyle(-,-.,--,..) 点型marker(v,^,s,*,H,+,X,D,O,...) 颜色color(b,g,r,y,k,w,...) plt.plot([0,3,9,15,30],linestyle = '-.',color = 'r',marker = 'o') 2.常用方法 plt.plot([0,3,9,15,30],linestyle =

D3.js 整体展示篇

近期一段时间研究社会成员网络关系图的一些可视化展示,对大数据可视化这片荒漠一筹莫展的自己,幸好发现了D3这片充满活力的绿洲.我决定在这块宝地贪婪地大餐一番. 本文介绍主要来自官网翻译及用户使用后感想资料收集 D3.js是一个对数据(主要针对大数据)进行操纵使之实现可视化的JavaScript库. D3可以借助HTML.SVG和CSS等技术将数据展示出来. 通俗点,就是网页制图,生成互动图. 介绍D3的中文书籍如今 仅仅有 <数据可视化实战-使用D3设计交互式图表>,有兴趣大家能够看看 长处:

D3.js总体展示篇

最近一段时间研究社会成员网络关系图的一些可视化展示,对大数据可视化这篇荒漠一筹莫展的自己,幸好发现了D3这片充满活力的绿洲,我决定在这块宝地贪婪地大餐一番. 本文介绍主要来自官网翻译及用户使用后感想资料收集 D3.js是一个对数据(主要针对大数据)进行操纵使之实现可视化的JavaScript库. D3能够借助HTML.SVG和CSS等技术将数据展示出来.通俗点,就是网页制图,生成互动图. 介绍D3的中文书籍现在 只有 <数据可视化实战-使用D3设计交互式图表>,有兴趣大家可以看看 优点: 与其

【前端vue进阶实战】:从零打造一个流程图、拓扑图项目【Nuxt.js + Element + Vuex】 (一)

本系列教程是用Vue.js + Nuxt.js + Element + Vuex + 开源js绘图库,打造一个属于自己的在线绘图软件,最终效果:topology.le5le.com .如果你觉得好,欢迎给文章和开源库点赞,让我们更有动力去做好! 本系列教程源码地址:Github 一.创建项目框架 1. 使用Nuxt.js向导创建项目 yarn create nuxt-app topology-vue // 注意在后面提示中,上移下移,按空格选中 Element 复制代码 选择Element后,在

HTML学习总结(四)【canvas绘图、WebGL、SVG】

一.Canvas canvas是HTML5中新增一个HTML5标签与操作canvas的javascript API,它可以实现在网页中完成动态的2D与3D图像技术.<canvas> 标记和 SVG以及 VML 之间的一个重要的不同是,<canvas> 有一个基于 JavaScript 的绘图 API,而 SVG 和 VML 使用一个 XML 文档来描述绘图.SVG 绘图很容易编辑与生成,但功能明显要弱一些. canvas可以完成动画.游戏.图表.图像处理等原来需要Flash完成的一