導航:首頁 > 編程語言 > js製作關系圖

js製作關系圖

發布時間:2023-04-11 01:54:05

① 學慣用jsp、echarts繪制關系圖遇到的問題

你有沒有根據官網的文檔來呢,官網上面有教程,或者加5185873群,估計會有人幫你解決問題

② 如何用百度echarts寫一個關系圖,百度demo上面叫graph上面例子沒看懂

graph是echarts3.0的關系圖的名稱,所有關系圖type類型都是graph,具體還得看你需求,還有你想做成什麼樣子的。

③ 前端用什麼技術,繪制實體類關系圖

jsplumb svg d3等可以試試

④ 求教,有沒有js插件或者jquery插件可以實現微博的社交關系圖的

圖表插件,能做出類似的,但如果要完全一樣,估計有難度。 比較好點的圖表插件有HighCharts和FusionCharts,還有一些其它的,你可以自己搜一下。都很好用的,只要看一下它們的api,就可以用幾行代碼加上一些配置,寫出一些實用的圖表了。

⑤ 如何用js實現動態畫數據關系圖

1.各個應用系統、伺服器信息及系統直接的調用都錄入到資料庫
2.前端拓撲圖、或系統調用關系圖的展示UI可以通過一些選項從資料庫中撈出數據,然後在UI上動態繪制出關系圖來
3.如HTML5 Canvas或基於HTML5 Canvas的JTopo、SVG都可以很好的繪制出這種圖來。

⑥ js html 流程圖 關系圖

js庫有
mxGraph
Extjs
另外js流程圖工具
flowchart
drawanywhere

⑦ jquery怎麼實現關系圖的繪制

實例代碼如下:
<!DOCTYPE html >
<head>
<title>jQuery漸顯效果的人物多級關系圖</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<style type="text/css">
#box{width:500px;height:500px;position:relative;}
.host{position:absolute;width:100px;height:50px;line-height:50px;text-align:center;color:#000000;background-color:#eeeeee;border:#000000 1px solid;font-weight:bolder;}
.guest{position:absolute;width:80px;height:40px;line-height:40px;text-align:center;color:#999999;background-color:#FFFFFF;border:#000000 1px solid;cursor:pointer;}
.relationship{position:absolute;width:60px;height:20px;color:#aaa;line-height:20px;font-size:12px;text-align:center;}
</style>
<script src="http://www.codefans.net/ajaxjs/jquery1.3.2.js"></script>
<script type="text/javascript">
var relationName = [
{name:"成龍",friend:[
{name:"房祖名",relationship:"父子"},
{name:"林鳳嬌",relationship:"夫妻"},
},
{name:"房祖名",friend:[
{name:"成龍",relationship:"父子"},
{name:"林鳳嬌",relationship:"母子"},
},
{name:"林鳳嬌",friend:[
{name:"成龍",relationship:"夫妻"},
{name:"房祖名",relationship:"母子"},
},
{name:"吳綺莉",friend:[
{name:"成龍",relationship:"緋聞"},
{name:"林鳳嬌",relationship:"情敵"},
},
{name:"徐靜蕾",friend:[
{name:"李亞鵬",relationship:"電影"},
{name:"韓寒",relationship:"娛樂圈"},
},
{name:"方大同",friend:[
{name:"房祖名",relationship:"情敵"},
{name:"薛凱琪",relationship:"否認拍拖"},
},
{name:"薛凱琪",friend:[
{name:"方大同",relationship:"否認拍拖"},
{name:"房祖名",relationship:"女友"}]
}
]
var relation = {
radius:150,
boxW:500,
boxH:500,
hostW:100,
hostH:50,
guestW:80,
guestH:40,
relationW:60,
relationH:20,
angle:0,
id:"box",
init:function(array,n){//傳入參數1:數組 參數2:第幾個
this.array = array;
this.appendHost(this.array,n);
this.appendQuest(this.array,n);
this.appendRelationShip(this.array,n);
},
appendHost:function(array,n){
var box = $("#"+this.id);
var host ="<span class='host'>"+array[n].name+"</span>";
box.append(host)
this.postHost();
},
postHost:function(){
var x = (this.boxW - this.hostW)/2;
var y = (this.boxH - this.hostH)/2;
$(".host").css({
left:x,
top:y
})
},
appendQuest:function(array,n){
var box = $("#"+this.id);
var guests="";
var that = this;
for(var i=0; i<array[n].friend.length; i++){
guests+="<span class='guest'>"+array[n].friend[i].name+"</span>";
}
$(guests).appendTo(box);
$(".guest").live("click",function(){
that.move(that,this);
})
this.postQuest();
},
postQuest:function(){
var guests = $(".guest");
var that = this;
guests.each(function(i){
guests.eq(i).css({
left:that.setQuestPose(guests.length,that.radius,i,that.guestW,that.guestH,that.angle).left,
top:that.setQuestPose(guests.length,that.radius,i,that.guestW,that.guestH,that.angle).top
}).attr("angle",i/guests.length)
})
},
setQuestPose:function(n,r,i,w,h,d){//n代表共幾個對象 r代表周長 i代表第幾個對象 w代表外面對象的寬頻 h代表外面對象的高度 d代表其實角度
var p = i/n*Math.PI*2+Math.PI*2*d;
var x = r * Math.cos(p);
var y = r * Math.sin(p);
return {
"left":parseInt(this.boxW/2+ x - w/2),
"top":parseInt(this.boxH/2 + y - h/2)
}
},
appendRelationShip:function(array,n){
var box = $("#"+this.id);
var relation="";
for(var i=0; i<array[n].friend.length; i++){
relation+="<span class='relationship'>"+array[n].friend[i].relationship+"</span>";
}
box.append(relation);
this.postRelationShip();
},
postRelationShip:function(){
var guests = $(".relationship");
var that = this;
guests.each(function(i){
guests.eq(i).css({
left:that.setQuestPose(guests.length,that.radius/2,i,that.relationW,that.relationH,that.angle).left,
top:that.setQuestPose(guests.length,that.radius/2,i,that.relationW,that.relationH,that.angle).top
})
})
},
move:function(t,i){
var n = $(".guest").index($(i));
this.angle = parseFloat($(i).attr("angle"))+0.5;
this.delect(n);
this.moveHost(i);
this.moveQuest(i);
this.moveRelationship(i);
this.changeClass();
setTimeout(function(){t.newAppend(i)},500);
},
newAppend:function(i){
this.newAppendGuest(i,"guest","name",this.guestW,this.guestH,this.radius);
this.newAppendGuest(i,"relationship","relationship",this.relationW,this.relationH,this.radius/2);

},
newAppendGuest:function(i,className,name,w,h,r){
var host = $(i).html();
var guest = $(".guest").html();
var box = $("#"+this.id);
var that = this;
var next=0;
for(var i=0; i<this.array.length; i++){
if(host == this.array[i].name){
for(var j=0;j<this.array[i].friend.length; j++){
if(guest !== this.array[i].friend[j].name){
next++;
var guests ="<span class='"+className+"'>"+this.array[i].friend[j][name]+"</span>";
$(guests).appendTo(box).css({
left:that.setQuestPose(this.array[i].friend.length,r,next,w,h,that.angle).left,
top:that.setQuestPose(this.array[i].friend.length,r,next,w,h,that.angle).top
}).attr("angle",that.angle+next/this.array[i].friend.length).hide().fadeIn(1000);
}
}
}
}
},
moveHost:function(i){
var hLeft = parseInt($(".host").css("left")) + this.hostW/2;
var hTop = parseInt($(".host").css("top")) + this.hostH/2;
var gLeft = parseInt($(i).css("left")) + this.guestW/2;
var gTop = parseInt($(i).css("top")) + this.guestH/2;
var l = gLeft - hLeft;
var t = gTop - hTop;
var left = (hLeft - l - this.guestW/2)+"px";
var top = (hTop - t - this.guestH/2)+"px";
this.animate(".host",left,top);
},
moveRelationship:function(i){
var hLeft = parseInt($(".host").css("left")) + this.hostW/2;;
var hTop = parseInt($(".host").css("top")) + this.hostH/2;
var gLeft = parseInt($(".relationship").css("left")) + this.relationW/2;
var gTop = parseInt($(".relationship").css("top")) + this.relationH/2;
var l = gLeft - hLeft;
var t = gTop - hTop;
var left = (hLeft - l - this.relationW/2)+"px";
var top = (hTop - t - this.relationH/2)+"px";
this.animate(".relationship",left,top);
},
moveQuest:function(i){
var left = $(".host").css("left");
var top = $(".host").css("top");
this.animate(i,left,top);
},
delect:function(n){
$(".guest").slice(0,n).remove();
$(".guest").slice(1).remove();
$(".relationship").slice(0,n).remove();
$(".relationship").slice(1).remove();
},
animate:function(i,left,top){
$(i).animate({
left:left,
top:top
},500);
},
changeClass:function(){
var that =this;
$(".guest").addClass("abcdef").removeClass("guest");
$(".host").addClass("guest").removeClass("host").attr("angle",that.angle);
$(".abcdef").addClass("host").removeClass("abcdef").attr("angle",null);
}
}
$(document).ready(function(){
relation.init(relationName,0)
})
</script>
</head>
<body>
看不到效果,刷新一下就可以了;<br>
<div id="box"></div>
</body>
</html>

⑧ 求家庭關系圖的做法,用js做

我都態判含沖茄要找帆笑i

⑨ 用什麼語言 可以製作人物關系圖 比如js 或者jquery 人物的名稱 和關系 是從資料庫中讀出的

首先如果是遠程資料庫處理要後台腳本去訪問取數據,比如php,java之類,傳到前端。
前端可以使用js來將數據顯示成圖表,使用jqplot等組件也可以。

⑩ jquery怎麼實現關系圖的繪制

jQuery只是寬仔宴一個DOM工具庫,要繪圖慎銀的話要採用其它技術配合,一般就是三種:VML(針對IE內核瀏覽器)、SVG、Canvas(針對支持HTML5的瀏覽器)。你可以看看網路的echarts、戚早或者國外的D3.js。從功能角度講,D3比echarts強大多了。不過echarts因為是網路的,所以中文文檔多。
你說的關系圖,可以用弦圖(chord)或者力導向圖(force)來表示。

閱讀全文

與js製作關系圖相關的資料

熱點內容
maya粒子表達式教程 瀏覽:84
抖音小視頻如何掛app 瀏覽:283
cad怎麼設置替補文件 瀏覽:790
win10啟動文件是空的 瀏覽:397
jk網站有哪些 瀏覽:134
學編程和3d哪個更好 瀏覽:932
win10移動硬碟文件無法打開 瀏覽:385
文件名是亂碼還刪不掉 瀏覽:643
蘋果鍵盤怎麼打開任務管理器 瀏覽:437
手機桌面文件名字大全 瀏覽:334
tplink默認無線密碼是多少 瀏覽:33
ipaddgm文件 瀏覽:99
lua語言編程用哪個平台 瀏覽:272
政采雲如何導出pdf投標文件 瀏覽:529
php獲取postjson數據 瀏覽:551
javatimetask 瀏覽:16
編程的話要什麼證件 瀏覽:94
錢脈通微信多開 瀏覽:878
中學生學編程哪個培訓機構好 瀏覽:852
榮耀路由TV設置文件共享錯誤 瀏覽:525

友情鏈接