SwiftUI中如何修改图表X轴标签的旋转角度?
解决SwiftUI Chart X轴标签旋转问题
要单独旋转X轴的数值标签而不影响整个图表,你需要在chartXAxis修饰符中自定义轴标记的样式,针对**轴标签(AxisLabel)**单独应用旋转效果,而非给整个Chart添加rotationEffect。
修改后的完整代码如下:
Chart { ForEach(arregloDummy) { arregloDummy in LineMark( x: .value("Periodo", arregloDummy.periodo.orEmpty), y: .value("Consumo", arregloDummy.consumo ?? 0.0)) } } .frame(height: 200) .padding() .foregroundColor(Color(cgColor: ColorSet.accentColor.cgColor)) .background(Color(red: 213 / 255, green: 218 / 255, blue: 198 / 255)) .chartYAxis{ AxisMarks(position: .leading) } // 自定义X轴标签样式 .chartXAxis { AxisMarks(position: .bottom) { value in AxisGridLine() // 保留网格线(可按需删除) AxisTick() // 保留刻度线(可按需删除) AxisLabel { Text(value.as(String.self) ?? "") .rotationEffect(.degrees(-45)) // 调整旋转角度适配需求 .offset(x: -5, y: 10) // 偏移修正,避免标签被截断或重叠 } } }
核心说明:
- 仅对
AxisLabel组件应用旋转,精准控制X轴标签的样式,不会波及图表主体。 offset参数可根据标签长度、旋转角度灵活调整,确保标签显示完整且布局美观。- 若不需要网格线或刻度线,直接删除对应的
AxisGridLine()和AxisTick()即可。
内容的提问来源于stack exchange,提问作者Carlos Cobián Mora
相关产品推荐
相关产品推荐

