You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 13:53:14