Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
常量qbPath=索引=>{ 常数从=点[(索引+1)%dots.length]; 常数至=点[索引]; 常数x1=px(r,从); 常数y1=py(r,from); 常数x2=px(r,至); 常数y2=py(r,to); 常数mx=(x1+x2)/2; 常数my=(y1+y2)/2; 常数dx=(x2-mx); 常数dy=(y2-my); 常数x3=mx-dy*1.5; 常数y3=my+dx*1.5; 常数距离=数学形下(x3-x1,y3-y1); 常数cx1=x1+(x3-x1)/dist; 常数cy1=y1+(y3-y1)/dist; 常数cx2=x2+(x3-x2)/dist; 常数cy2=y2+(y3-y2)/dist; 返回`M${cx1},${cy1}Q${x3},${y3}${cx2},${cy2}`; }; 变量g1=g.selectAll(空) .数据(点)。输入() g1.追加('圆') .attr('cx',d=>px(r,d)) .attr('cy',d=>py(r,d)) .attr('r',1) .attr('fill','none') .attr('stroke','black') .attr('笔划宽度',.1) var prev=null var mydraw=函数(d,i){ if(prev==null){ prev=d 返回“” } var x1=px(r,d) 变量y1=py(r,d) var x2=px(r,上一个) 变量y2=py(r,上一个) var x3=px(r*1.8,(上一个+d)/2) 变量y3=py(r*1.8,(上一个+d)/2) var path=`M${x1},${y1}Q${x3},${y3}${x2},${y2}` prev=d 返回路径 } /* g1.append('路径') .attr('d',d=>mydraw(d)) .attr('fill','none') .attr('stroke','black') .attr('笔划宽度',.1) .attr(“标记结束”、“url(#箭头)”) */ g1.过滤器((10;,i)=>i>0) .append('路径') .attr('d',(u,i)=>qbPath(i)) .attr('fill','none') .attr('stroke','black') .attr('笔划宽度',.1) .attr(“标记结束”、“url(#箭头)”) } 函数添加网格(svg){ var mygrid=函数(d){ 返回'm0,${d}l${w},0m${d},0l0,${w}` } 变量网格=[] 对于(变量i=0;imygrid(d)) .attr('fill','none') .attr('stroke','green') .attr('stroke-width',.05) }_Svg_D3.js - Fatal编程技术网

常量qbPath=索引=>{ 常数从=点[(索引+1)%dots.length]; 常数至=点[索引]; 常数x1=px(r,从); 常数y1=py(r,from); 常数x2=px(r,至); 常数y2=py(r,to); 常数mx=(x1+x2)/2; 常数my=(y1+y2)/2; 常数dx=(x2-mx); 常数dy=(y2-my); 常数x3=mx-dy*1.5; 常数y3=my+dx*1.5; 常数距离=数学形下(x3-x1,y3-y1); 常数cx1=x1+(x3-x1)/dist; 常数cy1=y1+(y3-y1)/dist; 常数cx2=x2+(x3-x2)/dist; 常数cy2=y2+(y3-y2)/dist; 返回`M${cx1},${cy1}Q${x3},${y3}${cx2},${cy2}`; }; 变量g1=g.selectAll(空) .数据(点)。输入() g1.追加('圆') .attr('cx',d=>px(r,d)) .attr('cy',d=>py(r,d)) .attr('r',1) .attr('fill','none') .attr('stroke','black') .attr('笔划宽度',.1) var prev=null var mydraw=函数(d,i){ if(prev==null){ prev=d 返回“” } var x1=px(r,d) 变量y1=py(r,d) var x2=px(r,上一个) 变量y2=py(r,上一个) var x3=px(r*1.8,(上一个+d)/2) 变量y3=py(r*1.8,(上一个+d)/2) var path=`M${x1},${y1}Q${x3},${y3}${x2},${y2}` prev=d 返回路径 } /* g1.append('路径') .attr('d',d=>mydraw(d)) .attr('fill','none') .attr('stroke','black') .attr('笔划宽度',.1) .attr(“标记结束”、“url(#箭头)”) */ g1.过滤器((10;,i)=>i>0) .append('路径') .attr('d',(u,i)=>qbPath(i)) .attr('fill','none') .attr('stroke','black') .attr('笔划宽度',.1) .attr(“标记结束”、“url(#箭头)”) } 函数添加网格(svg){ var mygrid=函数(d){ 返回'm0,${d}l${w},0m${d},0l0,${w}` } 变量网格=[] 对于(变量i=0;imygrid(d)) .attr('fill','none') .attr('stroke','green') .attr('stroke-width',.05) }

常量qbPath=索引=>{ 常数从=点[(索引+1)%dots.length]; 常数至=点[索引]; 常数x1=px(r,从); 常数y1=py(r,from); 常数x2=px(r,至); 常数y2=py(r,to); 常数mx=(x1+x2)/2; 常数my=(y1+y2)/2; 常数dx=(x2-mx); 常数dy=(y2-my); 常数x3=mx-dy*1.5; 常数y3=my+dx*1.5; 常数距离=数学形下(x3-x1,y3-y1); 常数cx1=x1+(x3-x1)/dist; 常数cy1=y1+(y3-y1)/dist; 常数cx2=x2+(x3-x2)/dist; 常数cy2=y2+(y3-y2)/dist; 返回`M${cx1},${cy1}Q${x3},${y3}${cx2},${cy2}`; }; 变量g1=g.selectAll(空) .数据(点)。输入() g1.追加('圆') .attr('cx',d=>px(r,d)) .attr('cy',d=>py(r,d)) .attr('r',1) .attr('fill','none') .attr('stroke','black') .attr('笔划宽度',.1) var prev=null var mydraw=函数(d,i){ if(prev==null){ prev=d 返回“” } var x1=px(r,d) 变量y1=py(r,d) var x2=px(r,上一个) 变量y2=py(r,上一个) var x3=px(r*1.8,(上一个+d)/2) 变量y3=py(r*1.8,(上一个+d)/2) var path=`M${x1},${y1}Q${x3},${y3}${x2},${y2}` prev=d 返回路径 } /* g1.append('路径') .attr('d',d=>mydraw(d)) .attr('fill','none') .attr('stroke','black') .attr('笔划宽度',.1) .attr(“标记结束”、“url(#箭头)”) */ g1.过滤器((10;,i)=>i>0) .append('路径') .attr('d',(u,i)=>qbPath(i)) .attr('fill','none') .attr('stroke','black') .attr('笔划宽度',.1) .attr(“标记结束”、“url(#箭头)”) } 函数添加网格(svg){ var mygrid=函数(d){ 返回'm0,${d}l${w},0m${d},0l0,${w}` } 变量网格=[] 对于(变量i=0;imygrid(d)) .attr('fill','none') .attr('stroke','green') .attr('stroke-width',.05) },svg,d3.js,Svg,D3.js,还有两个修复程序: 在箭头标记中.attr('refX',4)而不是5 在qbPath中,增加端点的半径(可以将1.1更改为大于1的任何值): var w=15 var svg=d3。选择('body')。追加('svg')) .attr('width','500') .attr('height','500') .attr('viewBox','0${w}${w}`) //.style('边框','1px实心红色') 添加_标记(svg) 添加网格(svg) 绘图(svg) 函数添加标记(sv

还有两个修复程序:

  • 在箭头标记中
    .attr('refX',4)
    而不是5
  • qbPath
    中,增加端点的半径(可以将1.1更改为大于1的任何值):
  • var w=15
    var svg=d3。选择('body')。追加('svg'))
    .attr('width','500')
    .attr('height','500')
    .attr('viewBox','0${w}${w}`)
    //.style('边框','1px实心红色')
    添加_标记(svg)
    添加网格(svg)
    绘图(svg)
    函数添加标记(svg){
    变量颜色='红色'
    svg.append(“defs”)
    .附加(“标记”)
    .attr(“id”、“箭头”)
    .attr(“markerWidth”,10)
    .attr(“markerHeight”,7)
    .attr(“方向”、“自动”)
    .attr('refX',4)
    .attr(“参考文献”,2)
    .append(“路径”)
    .attr(“d”,“M 0 0 L 5 2 L 0 4 z”)
    .样式(“填充”,颜色);
    }
    函数px(r,a){
    返回r*Math.cos(a*Math.PI/180)
    }
    函数py(r,a){
    返回r*Math.sin(a*Math.PI/180)
    }
    函数绘图(){
    var r=5
    变量点=[0,60120180240300360]
    var g=svg.append('g')
    .attr('transform',(d,i)=>`translate(${r+2},${r+2})`)
    常量qbPath=索引=>{
    常数从=点[(索引+1)%dots.length];
    常数至=点[索引];
    常数x1=px(r,从);
    常数y1=py(r,from);
    常数x2=px(r,至);
    常数y2=py(r,to);
    常数mx=(x1+x2)/2;
    常数my=(y1+y2)/2;
    常数dx=(x2-mx);
    常数dy=(y2-my);
    常数x3=mx-dy*1.5;
    常数y3=my+dx*1.5;
    常数距离=数学形下(x3-x1,y3-y1);
    常数cx1=x1+(x3-x1)/dist;
    常数cy1=y1+(y3-y1)/dist;
    常数cx2=x2+(x3-x2)/dist*1.1;
    常数cy2=y2+(y3-y2)/dist*1.1;
    返回`M${cx1},${cy1}Q${x3},${y3}${cx2},${cy2}`;
    };
    变量g1=g.selectAll(空)
    .数据(点)。输入()
    g1.追加('圆')
    .attr('cx',d=>px(r,d))
    .attr('cy',d=>py(r,d))
    .attr('r',1)
    .attr('fill','none')
    .attr('stroke','black')
    .attr('笔划宽度',.1)
    var prev=null
    var mydraw=函数(d,i){
    if(prev==null){
    prev=d
    返回“”
    }
    var x1=px(r,d)
    变量y1=py(r,d)
    var x2=px(r,上一个)
    变量y2=py(r,上一个)
    var x3=px(r*1.8,(上一个+d)/2)
    变量y3=py(r*1.8,(上一个+d)/2)
    var path=`M${x1},${y1}Q${x3},${y3}${x2},${y2}`
    prev=d
    返回路径
    }
    /*
    g1.append('路径')
    .attr('d',d=>mydraw(d))
    .attr('fill','none')
    .attr('stroke','black')
    .attr('笔划宽度',.1)
    .attr(“标记结束”、“url(#箭头)”)
    */
    g1.过滤器((10;,i)=>i>0)
    .append('路径')
    .attr('d',(u,i)=>qbPath(i))
    .attr('fill','none')
    .attr('stroke','black')
    .attr('笔划宽度',.1)
    .attr(“标记结束”、“url(#箭头)”)
    }
    函数添加网格(svg){
    var mygrid=函数(d){
    返回'm0,${d}l${w},0m${d},0l0,${w}`
    }
    变量网格=[]
    对于(变量i=0;imygrid(d))
    .attr('fill','none')
    .attr('stroke','green')
    .attr('stroke-width',.05)
    }
    还有两个修复程序:

  • 在箭头标记中
    .attr('refX',4)
    而不是5
  • qbPath
    中,增加端点的半径(可以将1.1更改为大于1的任何值):
  • var w=15
    var svg=d3。选择('body')。追加('svg'))
    .attr('width','500')
    .attr('height','500')
    .attr('viewBox','0${w}${w}`)
    //.style('边框','1px实心红色')
    添加_标记(svg)
    添加网格(svg)
    绘图(svg)
    函数添加标记(svg){
    变量颜色='红色'
    svg.append(“defs”)
    .附加(“标记”)
    .attr(“id”、“箭头”)
    .attr(“markerWidth”,10)
    .attr(“markerHeight”,7)
    .attr(“方向”、“自动”)
    .attr('refX',4)
    .attr(“参考文献”,2)
    .append(“路径”)
    .attr(“d”,“M 0 0 L 5 2 L 0 4 z”)
    .样式(“填充”,颜色);
    }
    函数px(r,a){
    返回r*Math.cos(a*Math.PI/180)
    }
    函数py(r,a){
    返回r*Math.sin(a*Math.PI/180)
    }
    函数绘图(){
    var r=5
    变量点=[0,60120,18
    
    const cx2 = x2 + (x3 - x2) / dist * 1.1;
    const cy2 = y2 + (y3 - y2) / dist * 1.1;