시각 화 도구 -- D3 - 사례 분석 -- Chord 다이어그램
9831 단어 D3
Chord Diagram
, , 。D3 。 D3 example 。
인 스 턴 스 링크http://bl.ocks.org/mbostock/4062006
부분 인터페이스: outerRadius: 반경 (백 라인) innerRadius 설정: 반경 (기선) formatPrefix 설정: 지정 값 과 정밀도, 데이터 급 padAngle 자동 판단 에 사용: 원호 간 간격 각도 설정 sortSubgroups: 매트릭스 2 급 그룹 을 설정 하 는 정렬 함수 scaleOrdinal: 서수 변환 색상 설정
현 도 구 조 는 데 이 터 를 groups 와 chords 로 나 누 는데 그 중에서 groups 는 외 현 으로 노드 와 눈금 을 포함한다.chords 는 내 현 으로 노드 간 의 연결선 과 그 가중치 를 포함한다.
캔버스 와 설정 추가:
var svg = d3.select("svg"),
width = +svg.attr("width"),
height = +svg.attr("height"),
outerRadius = Math.min(width, height) * 0.5 - 40,
innerRadius = outerRadius - 30;
생 성기 생 성:
var chord = d3.chord()
.padAngle(0.05)
.sortSubgroups(d3.descending);
var arc = d3.arc()
.innerRadius(innerRadius)
.outerRadius(outerRadius);
색상 과 정밀도 설정:
var formatValue = d3.formatPrefix(",.0", 1e3);
var color = d3.scaleOrdinal()
.domain(d3.range(4))
.range(["#000000", "#FFDD89", "#957244", "#F26223"]);
외부 줄 그리 기:
var g = svg.append("g")
.attr("transform", "translate(" + width / 2 + "," + height / 2 + ")")
.datum(chord(matrix));
var group = g.append("g")
.attr("class", "groups")
.selectAll("g")
.data(function(chords) { return chords.groups; })
.enter().append("g");
group.append("path")
.style("fill", function(d) { return color(d.index); })
.style("stroke", function(d) { return d3.rgb(color(d.index)).darker(); })
.attr("d", arc);
내부 줄 그리 기:
g.append("g")
.attr("class", "ribbons")
.selectAll("path")
.data(function(chords) { return chords; })
.enter().append("path")
.attr("d", ribbon)
.style("fill", function(d) { return color(d.target.index); })
.style("stroke", function(d) { return d3.rgb(color(d.target.index)).darker(); });
눈금 자 그리 기:,
함수.
function groupTicks(d, step) {
var k = (d.endAngle - d.startAngle) / d.value;
return d3.range(0, d.value, step).map(function(value) {
return {value: value, angle: value * k + d.startAngle};
});
}
그리 기
var groupTick = group.selectAll(".group-tick")
.data(function(d) { return groupTicks(d, 1e3); })
.enter().append("g")
.attr("class", "group-tick")
.attr("transform", function(d) { return "rotate(" + (d.angle * 180 / Math.PI - 90) + ") translate(" + outerRadius + ",0)"; });
groupTick.append("line")
.attr("x2", 6);
groupTick.filter(function(d) { return d.value % 5e3 === 0; })
.append("text")
.attr("x", 8)
.attr("dy", ".35em")
.attr("transform", function(d) { return d.angle > Math.PI ? "rotate(180) translate(-16)" : null; })
.style("text-anchor", function(d) { return d.angle > Math.PI ? "end" : null; })
.text(function(d) { return formatValue(d.value); });
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
시각 화 도구 -- D3 - 사례 분석 -- Chord 다이어그램시각 화 도구 – D3 – 사례 분석 Chord Diagram 인 스 턴 스 링크http://bl.ocks.org/mbostock/4062006 부분 인터페이스: outerRadius: 반경 (백 라인) innerR...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.