【发布时间】:2019-12-11 16:19:41
【问题描述】:
我使用 react 和 svg 圆圈创建了一个饼图。现在我想定位文本标签,使文本从靠近圆圈的中间开始,然后向外继续,财富之轮风格。
这是我的代码,渲染 svgs。在 chrome 开发工具中,我尝试应用 tranform: rotate(45deg); 并调整数字,但文本一直在圈外飞走。
<svg viewBox="0 0 32 32">
{elements.map((element, index) => (
<g>
<circle
key={_id}
r={16 / 1.0053}
cx={'50%'}
cy={'50%'}
style={{
strokeDasharray: `${percentage}, 100.53`,
strokeDashoffset: -offset,
stroke: segmentColor,
}}
textAnchor="middle"
></circle>
<text
textAnchor="middle"
x={'50%'}
y={'50%'}
fontFamily={'sans-serif'}
fontSize={'20px'}
fill="black"
textAnchor="start"
>
{title}
</text>
</g>
))}
</svg>
```
【问题讨论】: