svg의 x와 dx 속성의 차이점은 무엇입니까?
svg의 x와 dx 속성 (또는 y와 dy)의 차이점은 무엇입니까? 축 이동 속성 (dx)과 위치 속성 (x)을 사용하는 적절한시기는 언제입니까?
예를 들어, 저는 이와 같은 일을하는 많은 d3 예제를 보았습니다.
chart.append("text")
.attr("x", 0)
.attr("y", 0)
.attr("dy", -3)
.text("I am a label")
다음이 같은 일을하는 것처럼 보일 때 y와 dy를 둘 다 설정하는 장점이나 이유는 무엇입니까?
chart.append("text")
.attr("x", 0)
.attr("y", -3)
.text("I am a label")
x
및 y
절대 좌표이고 dx
및 dy
상대 좌표입니다 (지정된 x
및에 상대적 y
).
내 경험에 의하면, 사용하는 것이 일반적되지 않습니다 dx
및 dy
에 <text>
(당신은, 예를 들어, 조정을위한 텍스트 다음 별도의 코드를 위치에 대한 몇 가지 코드가있는 경우는 편의를 코딩하는 데 유용 할 수도 있지만) 요소.
dx
그리고 dy
사용할 때 주로 유용 <tspan>
안에 중첩 요소 <text>
애호가 멀티 라인 텍스트 레이아웃을 설정하는 요소.
자세한 내용 은 SVG 사양 의 텍스트 섹션을 참조하세요 .
Scott의 대답에 추가하기 위해 em (글꼴 크기 단위)과 함께 사용되는 dy는 절대 y 좌표를 기준으로 텍스트를 수직으로 정렬하는 데 매우 유용합니다. 이것은 MDN dy 텍스트 요소 예제 에서 다룹니다 .
dy = 0.35em을 사용하면 글꼴 크기에 관계없이 텍스트를 세로로 가운데에 맞출 수 있습니다. 절대 좌표로 설명 된 점을 중심으로 텍스트 중심을 회전하려는 경우에도 도움이됩니다.
<style>
text { fill: black; text-anchor: middle; }
line { stroke-width: 1; stroke: lightgray; }
</style>
<script>
dataset = d3.range(50,500,50);
svg = d3.select("body").append("svg");
svg.attr('width',500).attr('height', 500);
svg.append("line").attr('x1', 0).attr('x2', 500).attr('y1', 100).attr('y2', 100);
svg.append("line").attr('x1', 0).attr('x2', 500).attr('y1', 200).attr('y2', 200);
group = svg.selectAll("g")
.data(dataset)
.enter()
.append("g");
// Without the dy=0.35em offset
group.append("text")
.text("My text")
.attr("x",function (d) {return d;})
.attr("y",100)
.attr("transform", function(d, i) {return "rotate("+45*i+","+d+",100)";});
// With the dy=0.35em offset
group.append("text")
.text("My text")
.attr("x",function (d) {return d;})
.attr("y",200)
.attr("dy","0.35em")
.attr("transform", function(d, i) {return "rotate("+45*i+","+d+",200)";});
<script>
If you don't include "dy=0.35em", the words rotate around the bottom of the text and after 180 align below where they were before rotation. Including "dy=0.35em" rotates them around the centre of the text.
Note that dy can't be set using CSS.
참고URL : https://stackoverflow.com/questions/19127035/what-is-the-difference-between-svgs-x-and-dx-attribute
'program tip' 카테고리의 다른 글
Python __str__ 및 목록 (0) | 2020.08.22 |
---|---|
if 조건문에 변수 할당, 모범 사례? (0) | 2020.08.22 |
사용하지 않는 using 지시문은 성능에 어떤 영향을 미칩니 까? (0) | 2020.08.22 |
GDB에서 함수의 반환 값을 검사하는 방법은 무엇입니까? (0) | 2020.08.22 |
ICollection (0) | 2020.08.22 |