Я ищу простой способ заставить систему координат в данном элементе svg
начинать с верхнего правого угла вместо верхнего левого.Это означает, что ось X перевернута, поэтому увеличение атрибута x
элемента переводит его дальше влево, а увеличение атрибута y
переводит его дальше вниз, как обычно.
поэкспериментировал с scale
и viewBox
, однако:
scale
почти решает проблему, но на самом деле это не работает для моего варианта использования, поскольку он также переворачивает текст, который я
This question говорит, что решает ту же проблему для оси Y с преобразованием matrix
.Я оглянулся и попытался вычислить эквивалент для оси X, но безуспешно.
Вот пример того, чего я пытаюсь достичь:
<svg style="border: 1px black solid;" height="100%" width="100%">
<g>
<g>
<rect fill="#F0BC40" width="70" height="12" x="0" y="30"></rect>
<text fill="black" font-size="10px" text-anchor="middle" x="35" y="29">7</text>
</g>
<g>
<rect fill="orange" width="50" height="12" x="72" y="30"></rect>
<text fill="black" font-size="10px" text-anchor="middle" x="97" y="29">5</text>
</g>
<g>
<rect fill="orange" width="40" height="12" x="124" y="30"></rect>
<text fill="black" font-size="10px" text-anchor="middle" x="144" y="29">4</text>
</g>
<g>
<rect fill="red" width="50" height="12" x="166" y="30"></rect>
<text fill="black" font-size="10px" text-anchor="middle" x="191" y="29">5</text>
</g>
<rect fill="#52575E" width="2" height="16" x="70" y="28"></rect>
<rect fill="#52575E" width="2" height="16" x="122" y="28"></rect>
<rect fill="#52575E" width="2" height="16" x="164" y="28"></rect>
</g>
</svg>
Как вы можете видеть, я бы хотел, чтобы этот сгруппированный столбец отображался справа, а красный столбец был бы самым дальним слева (поэтому, по сути, столбец с накоплением будетбыть перевернутым)
Также я делаю это в Elm, поэтому я не могу получить доступ к DOM, чтобы проверить ширину, высоту или координаты элементов (я вычисляю все функционально).
Если бы кто-нибудь мог помочь мне достичь этого, я был бы очень благодарен.